是否可以只获取SQL SERVER中具有不同值的列?
TABLE 1
id Name Desig
1 Ali Assistant.Manager
1 Ali Manager
2 John Manager
现在,如果我想检查id 1的状态,它应该返回Designation(即Assistant.Manager& Manager)
答案 0 :(得分:0)
试试这个:
SELECT T1.Desig
FROM TableName T1 JOIN
(SELECT id,name
FROM TableName
GROUP BY id,name
HAVING COUNT(DISTINCT Desig) > 1) T2
ON T1.id=T2.id AND T1.name=T2.name
结果:
DESIG
Assistant.Manager
Manager
请参阅SQL Fiddle中的结果。
答案 1 :(得分:0)
如果id
是一个身份,当您发表评论时,您可以选择每个名称的最新行,如:
select *
from (
select row_number() over (
partition by name
order by id desc) as rn
, *
) as SubQueryAlias
where rn = 1 -- Latest row per name