从表2中获取紧接在表1中的记录,并且只返回该记录

  • 本文关键字:记录 返回 获取 从表 sql sql-server
  • 更新时间 :
  • 英文 :


我有这样的数据,但由于某些原因,它现在没有为我点击:

cidcmt_date评论

您可以将CROSS APPLY与子查询一起使用,以便为table1中的每一行从table2中获取1,'最近' '行:

SELECT t1.cid, t1.cmt_date AS comment_date, t1.comment, t2.pmt_date, t2.payment AS pmt
FROM table1 t1
CROSS APPLY (
SELECT TOP 1 *
FROM table2
WHERE pmt_date > t1.cmt_date AND pt_no = t1.pt_no
ORDER BY pmt_date DESC
) t2

将顺序更改为ORDER BY pmt_date ASC以获得日期最接近t1的一行。cmt_date(我不确定您想要哪个选项)。您可能还想在子查询比较中使用>=(我也不能确定这一点)。

最新更新