重复行的标记设定
在下有个查询想设置,请求帮忙。
如下表:
A B C
1 2 3
1 2 4
2 1 1
2 1 2
2 1 3
.......
经查询后,如下图显示
A B C D
1 2 3
1 2 4 Y
2 1 1
2 1 2 Y
2 1 3 Y
.......
过滤的条件为:
若A,B列的对应的行数值相同的时候,后续的行都会显示带有‘Y’的标记,首行无需显示,以区分该行重复
[解决办法]
--> --> (Roy)生成測試數據 declare @T table([A] int,[B] int,[C] int)Insert @Tselect 1,2,3 union allselect 1,2,4 union allselect 2,1,1 union allselect 2,1,2 union allselect 2,1,3;with aas(Select *,ROW_NUMBER()over(order by (select 1)) as d from @T)select a.A,a.B,a.C,[d]=Case when b.A Is not null then 'Y' else '' endfrom aleft join a as b on a.d=b.d+1 and a.a=b.a and a.b=b.b/*A B C d1 2 3 1 2 4 Y2 1 1 2 1 2 Y2 1 3 Y*/