【发布时间】:2014-02-03 11:31:18
【问题描述】:
这是我简化的表格布局:
table1:pID(pkey),数据 table2:rowID(pkey)、pID(fkey)、数据、日期
我想从 table1 中选择一些行,将每个 pID 的 table2 中的一行连接到该 pID 的最近日期。 我目前使用以下查询执行此操作:
SELECT * FROM table1 as a
LEFT JOIN table2 AS b ON b.rowID = (SELECT TOP(1) rowID FROM table2 WHERE pID = a.pID ORDER BY date DESC)
这种工作方式很慢,可能是因为它必须对表 1 的每一行进行子查询。有没有办法提高性能或另一种方式?
【问题讨论】:
标签: sql sql-server