#join #db2 #inner-join
#Присоединиться #db2 #внутреннее соединение
Вопрос:
Мне нужна помощь в формулировании правильного подхода к запросу.
У меня есть сотрудники, которым мне нужно дать работу. Если они недоступны в определенную дату, они исключаются из группы сотрудников, которые могут получить работу. Я думаю, понятно, что я пытаюсь сделать, но это неправильный синтаксис:
INNER JOIN mySchema."STAFF" S
ON RS.STAFF_ID = S.STAFF_ID
AND RS.STAFF_ID NOT IN (SELECT SU.STAFF_ID
FROM mySchema."STAFF_UNAVAIL" SU
WHERE SU.UNAVAIL_DT = OUTSTANDING_DATE)
Есть идеи о том, как можно добиться NOT IN в соединении, фактически не выполняя это в соединении?
Комментарии:
1. было бы полезно предоставить полный запрос и точную ошибку, которую вы получаете
Ответ №1:
поместите это в where
предложение после объединений
INNER JOIN mySchema."STAFF" S
ON RS.STAFF_ID = S.STAFF_ID
...any other joins...
WHERE RS.STAFF_ID NOT IN (SELECT SU.STAFF_ID
FROM mySchema."STAFF_UNAVAIL" SU
WHERE SU.UNAVAIL_DT = OUTSTANDING_DATE)