gpt4 book ai didi

mysql - SQL查询连接两个表并过滤第一个表中的行而第二个表中没有相应的条目

转载 作者:行者123 更新时间:2023-11-29 11:49:36 24 4
gpt4 key购买 nike

我在 Mysql 数据库中有 2 个表:一张是Employee表,存放员工详细信息:employee

emp_id name
1 ABC
2 XYZ
3 EFG

第二个是月工资:工资

 wage_id  emp_id month year   wage   paid
1 1 11 2015 2000 2000
2 2 11 2015 1000 1000
3 3 11 2015 1500 1700
4 1 12 2015 2000 2000
5 3 12 2015 1500 0

我必须过滤那些未输入当月工资或工资低于或高于工资的员工。例如。

当月份=11时

Name  Wage Paid
EFG 1500 1700

当月份=12时

Name  Wage  Paid
XYZ 0 0
EFG 1500 0

我尝试了几种方法,但无法获得所需的输出。

Select  employee.emp_id, 
employee.name,
wages.emp_id,
wages.wage_id,
wages.wage,
wages.paid
From employee
Join wages On employee.emp_id = wages.emp_id
Where wages.month = 11
And wages.year = 2015
And wages.wage <> wages.paid

还有

Select  wages.wage, 
wages.paid,
wages.emp_id,
employee.emp_id
From wages
Join employee On wages.emp_id = employee.emp_id
Where wages.month = 11
And wages.year = 2015
And wages.wage <> wages.paid

请提出更改建议。

最佳答案

这应该有效:只需将[月份]更改为您想要的任何内容即可。

SELECT e.Name, IFNULL(w.wage, 0), IFNULL(w.paid, 0)
FROM Employees e
LEFT JOIN Wages w
ON e.emp_id = w.emp_id AND [month] = 12 AND [YEAR] = 2015
WHERE w.wage IS NULL OR w.wage <> w.paid

关于mysql - SQL查询连接两个表并过滤第一个表中的行而第二个表中没有相应的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34342701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com