Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.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 联接两个表并从第二个表中仅获取第一个匹配行_Sql_Sql Server_Join_Relational Database_Left Join - Fatal编程技术网

Sql 联接两个表并从第二个表中仅获取第一个匹配行

Sql 联接两个表并从第二个表中仅获取第一个匹配行,sql,sql-server,join,relational-database,left-join,Sql,Sql Server,Join,Relational Database,Left Join,我想加入三张桌子。 第一个表(联系人)包含cid(主键)、名称。 第二个表(familyInfo)包含fid(主键)、cid(fk)、联系人姓名和关系ID(fk) .第三个表(关系类型)包含relationID(主键),relationType如父亲、母亲、兄弟等 查询应该将第一个表中的所有行与第二个表中的第一个匹配行连接起来。。。。没有任何关系的联系人应显示null…结果中只显示第一个匹配关系 请帮忙, 非常感谢。 您需要使用外部应用 SELECT c.cid, c.NAME,

我想加入三张桌子。 第一个表(联系人)包含cid(主键)、名称。 第二个表(familyInfo)包含fid(主键)、cid(fk)、联系人姓名和关系ID(fk) .第三个表(关系类型)包含relationID(主键),relationType如父亲、母亲、兄弟等

查询应该将第一个表中的所有行与第二个表中的第一个匹配行连接起来。。。。没有任何关系的联系人应显示null…结果中只显示第一个匹配关系

请帮忙, 非常感谢。

您需要使用
外部应用

SELECT c.cid,
       c.NAME,
       oa.contact_name
FROM   contacts c
       OUTER APPLY (SELECT TOP 1 f.contact_name
                    FROM   familyInfo f
                    WHERE  c.cid = f.cid
                    ORDER  BY relationID) oa 
它的工作原理

Outer apply
将返回左表中的所有记录,即使右表中没有找到匹配的记录


Top 1
Order by
将帮助您从第二个表中找到第一个匹配行

我们不会为您做功课。请发布您尝试过的内容,我们可以提供帮助。尽量不要将内容发布为图像。另外,请发布您迄今为止所做的尝试。谢谢您prdp…它按预期工作…非常感谢您