尝试选择外部联接表的顶级记录
如果表B中没有记录,则null将存在
如果有多条记录,那么只应选择第一条记录。
我构建了这个查询,但是我收到了错误
SELECT DISTINCT
A.Col1 , A.Col2, B.Col2, B.Col3
FROM
A LEFT OUTER JOIN (SELECT TOP 1 * FROM B WHERE B.Col1=A.Col1) A ON B.Col1=A.Col1
无法绑定多部分标识符“B.Col1”。
任何人都知道如何解决这个问题?
答案 0 :(得分:2)
如果您只想要一个匹配,请使用outer apply
:
SELECT A.Col1 , A.Col2, B.Col2, B.Col3
FROM A OUTER APPLY
(SELECT TOP 1 *
FROM B
WHERE B.Col1 = A.Col1
) B;