如何编写sql语句?

01ede9ba4d5f37fd0ef8af074a0e70fe.png

SELECT IF(s.`name` != '',s.`name`,w.staffname) as '姓名', SUM(w.money) as '当月工资'
FROM wages w, staff s
WHERE s.id = w.staffid AND
    DATE_FORMAT(w.createtime,'%Y-%m')='2022-07' 
GROUP BY w.staffid

这么写问题很多,应该怎么写?

阅读 1.3k
1 个回答
SELECT s.id,
       IFNULL(s. name, w.staffname) as '姓名',
       SUM(w.money) as '当月工资'
  FROM staff s
  left join wages w
    on w.staffid = s.id
 where month(w.createtime) = month(sysdate)
 GROUP BY s.id, IFNULL(s. name, w.staffname) as '姓名'
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题