我想比较同一个ID的两行,我只是希望得到差异。
e.g。
立即
|---ID---||--Col_1--||--Col_2--||--Col_3--||--Col_4--|
|----1---||----2----||----4----||----5----||----6----|
|----1---||----3----||----4----||----4----||----6----|
|----2---||----2----||----3----||----3----||----2----|
RESULT
|---ID---||--Col_1--||--Col_2--||--Col_3--||--Col_4--|
|----1---||----3----||---NULL--||----4----||---NULL--|
P.S:我正在使用SQL Server 2012
答案 0 :(得分:1)
如果我正确解释您的问题,您希望将相同ID的行组合起来并应用以下规则:
NULL
。id
。这是一个带有一些过滤和比较逻辑的聚合查询:
select id,
(case when min(col1) = max(col1) then min(col1) end) as col1,
. . .
from t
group by id
having count(*) > 1;