2011-11-09 119 views
1

这应该是简单的,但无论我尝试我不能得到我想要的数据... 我有两个表:加入两个表:从第一个所有行与从第二个子集

依赖d

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

员工Ë

empID 
100 
200 
300 

,我需要加入像这样:

期望的结果(其中仅与RELID = 1被包括DOBS)

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) 

我在想什么/做错了什么?

谢谢您的关注!

回答

2

使连接条件的过滤部分:

SELECT e.empID, d.dob 
FROM employee AS e 
LEFT OUTER JOIN dependent AS d 
ON e.empID = d.empID 
AND d.relID = 1 
+1

谢谢!我很尴尬地说,我对此感到困惑多长时间,但最容易回答的是一个简单的答案! – jlisham

相关问题