我想使用左连接加入两个表,但结果不是我预期的,is_selected不起作用。 EMP_ID 004仍然出现。我的查询有什么问题?请帮忙......谢谢
SELECT DISTINCT
a.Type,
COALESCE (a.EMP_ID,b.EMP_ID) AS ID,
a.Deduction_No,
a.Home_Amt,
a.Deduction_Amt,
a.Group_ID,
b.Is_Selected,
From Table a
Left Outer join Table b (a.Deduction_No = b.Deduction_No)
WHERE Is_Selected = 'Y'
表a
Deduction_No Type GROUP_ID EMP_ID Service_code AMT
V1001 EMP 001 D1008 10
V1001 GRP G185 NULL C1009 20
V1001 GRP G185 NULL C1009 35
V1001 GRP G185 NULL C1009 20
表b
Deduction_No GROUP_ID EMP_ID Is_Selected
V1001 G185 001 Y
V1001 G185 002 Y
V1001 G185 003 Y
V1001 G185 004 N
输出错误
Deduction_No Type GROUP_ID EMP_ID Service_code AMT Is_Selected
V1001 EMP 001 D1008 10 Y
V1001 GRP G185 001 C1009 20 Y
V1001 GRP G185 002 C1009 35 Y
V1001 GRP G185 003 C1009 20 Y
V1001 GRP G185 004 C1009 95 Y
期望的输出
Deduction_No Type GROUP_ID EMP_ID Service_code AMT Is_Selected
V1001 EMP 001 D1008 10 Y
V1001 GRP G185 001 C1009 20 Y
V1001 GRP G185 002 C1009 35 Y
V1001 GRP G185 003 C1009 20 Y
谢谢
答案 0 :(得分:0)
我想,如果我理解正确,你正在寻找这样的东西:
SELECT DISTINCT
a.Type,
COALESCE (a.EMP_ID,b.EMP_ID) AS ID,
a.Deduction_No,
a.Home_Amt,
a.Deduction_Amt,
a.Group_ID,
b.Is_Selected,
From Table a
Left Outer join Table b on(a.Deduction_No = b.Deduction_No and Is_Selected = 'Y')