Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 连接两个表:第一个表中的所有行与第二个表中的子集_Sql Server 2005 - Fatal编程技术网

Sql server 2005 连接两个表:第一个表中的所有行与第二个表中的子集

Sql server 2005 连接两个表:第一个表中的所有行与第二个表中的子集,sql-server-2005,Sql Server 2005,这应该很简单,但无论我尝试什么,我都无法获得我想要的数据。。。 我有两张桌子: 依赖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的DOB) 无论我使用哪种联接,我最终只得到相交的记录(dependent中的empID有一个relID=1的记录),如下所示:

这应该很简单,但无论我尝试什么,我都无法获得我想要的数据。。。 我有两张桌子:

依赖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的DOB)

无论我使用哪种联接,我最终只得到相交的记录(dependent中的empID有一个relID=1的记录),如下所示:

实际结果(见下面的查询)

我错过了什么/做错了什么


谢谢你的关注

使过滤器成为连接条件的一部分:

SELECT e.empID, d.dob 
FROM employee AS e 
LEFT OUTER JOIN dependent AS d 
ON e.empID = d.empID
AND d.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)
SELECT e.empID, d.dob 
FROM employee AS e 
LEFT OUTER JOIN dependent AS d 
ON e.empID = d.empID
AND d.relID = 1