我有以下表格/列:
Parent:
ParentID
Child:
ChildID
ParentID
SubChild:
SubChildID
ChildID
Date
Parent
与 具有一对多关系Child
Child
与 具有一对多关系SubChild
对于每一个Parent
,我需要得到SubChild
与最近的Date
价值。
我怎样才能使用 SQL 来做到这一点。我尝试过使用MAX(Date)
,
但我似乎不知道如何加入Parent
and Child
成功地。
理想的结果集将包含所有Parent
s 与所有的SubChild
最新记录的列。
注意:使用微软 SQL 2005+
看看使用ROW_NUMBER http://msdn.microsoft.com/en-us/library/ms186734.aspx
就像是
;WITH Vals AS (
SELECT p.ParentID,
sc.SubChildID,
ROW_NUMBER() OVER (PARTITION BY p.ParentID ORDER BY sc.[Date] DESC) RowID
FROM Parent p INNER JOIN
Child c ON p.ParentID = c.ParentID INNER JOIN
SubChild sc ON c.ChildID = sc.ChildID
)
SELECT ParentID,
SubChildID
FROM Vals
WHERE RowID = 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)