我想用左連接加入兩個表,但結果不是我所期待的。SQL表加入合併
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 JOIN TABLE b(a.Deduction_No = b.Deduction_No)
WHERE Is_Selected = 'Y'
表一個
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 AMT
V1001 G185 001 Y 20
V1001 G185 001 N 0
V1001 G185 002 Y 35
V1001 G185 002 N 0
V1001 G185 003 Y 20
V1001 G185 003 N 0
V1001 G185 004 Y 20
V1001 G185 004 N 20
輸出與錯誤
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
謝謝
在有問題的輸出的'AMT'列具有'85'值似乎不匹配您的任何樣本數據。是否有可能你有'IS_SELECTED ='Y''和Deduction_No ='V1001'的另一行? –