我在这里敲头。我觉得自己很愚蠢,因为我确信我以前做过类似的事情,但我一辈子都不记得是怎么做的。我想那一天>.
假设我有以下数据: ---> 和一个返回此数据的查询: ---> 但我想要这个:
ID FirstID ID FirstID ID FirstID
-- ------- -- ------- -- -------
1 1 1 1 7 1
2 1 3 3 3 3
3 3 4 4 6 4
4 4 5 5 5 5
5 5
6 4
7 1
请注意,我的查询返回 ID = FirstID 的记录,但我希望它返回 Max(ID)对于每个子集唯一的 FirstID。听起来很简单吧?我就是这么想的,但我总是只返回记录#7。这是我的查询(返回上面第二组数字的查询)和一些测试代码,以使您的生活更轻松。我需要这个来给我最右边块的结果。应该注意的是,这是一个自连接表,其中 FirstID 是 ID 的外键。谢谢 :)
declare @MyTable table (ID int, FirstID int)
insert into @MyTable values (1,1),(2,1),(3,3),(4,4),(5,5),(6,4),(7,1)
select ID, FirstID
from @MyTable
where ID = FirstID