Я хотел бы присоединиться к двум таблицам, используя левое соединение, но результат не то, что я ожидаю.SQL-таблица join with coalesce
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'
Таблица 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
Таблица б
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 '? –