【发布时间】:2011-02-10 16:53:06
【问题描述】:
我想加入一个包含 WITH 子句的子查询/派生表(WITH 子句是过滤ROW_NUMBER() = 1 所必需的)。在 Teradata 中类似的东西可以正常工作,但 Teradata 使用 QUALIFY ROW_NUMBER() = 1 而不是 WITH 子句。
这是我在此连接中的尝试:
-- want to join row with max StartDate on JobModelID
INNER JOIN (
WITH AllRuns AS (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY JobModelID ORDER BY StartDate DESC) AS RowNumber
FROM Runs
)
SELECT * FROM AllRuns WHERE RowNumber = 1
) Runs
ON JobModels.JobModelID = Runs.JobModelID
我做错了什么?
【问题讨论】:
标签: sql-server subquery row-number derived-table