Select table 的前 1 名

Select top 1 of table

正在尝试 select 外部连接的最高记录 table

如果 table B 中没有记录,那么那里将为 null

如果有多个记录,那么应该只select编辑第一个。

我构建了这个查询,但出现错误

 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"。

有人知道如何解决这个问题吗?

如果你只想要一场比赛,那么使用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;