左连接右表的第一个值?

时间:2011-11-03 11:10:54

标签: sql database sql-server-2008 stored-procedures greatest-n-per-group

我需要在条件下对表进行左连接,因此左表中的值只选择在右表中找到的第一个值,按时间排序,右表中的时间是>比在左边的时间。

如何做到这一点?

感谢。

1 个答案:

答案 0 :(得分:0)

也许是这样的结构(使用子查询而不是连接):

SELECT (SELECT TOP 1 D2.DiDateEnd
    FROM Diary AS D2
    WHERE D2.DiDateEnd > D1.DiDateEnd
    ORDER BY D2.DiDateEnd) AS RightTableTime, *
FROM Diary AS D1

我已经使用了我自己的一个表作为样本,因为你没有提供表/列名。