Соедините две таблицы: все строки из первой с подмножеством из второй - PullRequest
1 голос
/ 09 ноября 2011

Это должно быть просто, но независимо от того, что я пытаюсь, я не могу получить нужные данные ... У меня есть две таблицы:

в зависимости от d

empID  relID      dob
100     1     8/8/1988
100     2     1/1/2001
200     1     9/9/1989

сотрудник e

empID
100
200
300

что мне нужно присоединиться вот так:

Желаемые результаты (где включены только добы с relID = 1)

e.empID  d.dob
100     8/8/1988
200     9/9/1989
300     NULL

Независимо от того, какое соединение я использую, я получаю только те записи, которые пересекаются (где empID в зависимой записи имеет запись с relID = 1), например так:

Фактические результаты (см. Запрос ниже)

e.empID  d.dob
100     8/8/1988
200     9/9/1989


SELECT e.empID, d.dob 
FROM employee AS e LEFT OUTER JOIN dependent AS d ON e.empID = d.empID
WHERE (d.relID = 1)

Что я пропускаю / делаю неправильно?

Спасибо за внимание!

1 Ответ

2 голосов
/ 09 ноября 2011

Сделать фильтром часть условия соединения:

SELECT e.empID, d.dob 
FROM employee AS e 
LEFT OUTER JOIN dependent AS d 
ON e.empID = d.empID
AND d.relID = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...