id color
1 Yellow
1 Pink
2 Yellow
2 blue
3 Yellow
3 Yellow
4 Red
Требуются только те идентификаторы, где цвет одинаков для всех строк.
Пробовали несколько способов, но не получили никакого ответа.
;WITH CTE AS (
select ROW_NUMBER() OVER(PARTITION BY A.ID,A.COLOR ORDER BY A.ID,A.COLOR)RNO,A.ID,A.COLOR from COLOR a join COLOR b on a.id = b.id and a.color=b.color
)
SELECT DISTINCT ID, COLOR FROM CTE --WHERE RNO > 1
SELECT *
FROM color a join (
SELECT id, color, count(*) as qty
FROM color
GROUP BY id, color
HAVING COUNT(*) > 1
) b on a.id = b.id and a.color = b.color
select * from (
Select color,id,count(1)cnt from COLOR
group by color,id
having count(1) = 1
union all
Select color,id,count(1)cnt from COLOR
group by color,id
having count(1) > 1
) as t where cnt between 1 and 4