다음 표가 있다고 가정하겠습니다.
Customer_ID Item_ID
1 A
1 B
2 A
2 B
3 A
내가 필요한 것은 동일한 항목을 구입 한 고객을 찾는 것입니다.
산출:
Customer_id Customer_id
id1 id2
(id1 <id2)
동일한 항목 세트 (예 : 3)를 가진 고객이 3 명 이상인 경우 출력은 다음이어야합니다.
Customer_id Customer_id
id1 id2
id2 id3
id1 id3
감사
이것은 중간에 enumID가 있지만 같은 것입니다
with cte as ( SELECT [sID], [enumID], [valueID], count(*) over (partition by [sID], [enumID]) as ccount
FROM [docMVenum1]
WHERE [sID] < 10000 )
select [cte1].[sID], [cte2].[sID], [cte1].[enumID] -- , [cte1].[valueID], [cte1].[ccount]
from cte as [cte1]
join cte as [cte2]
on [cte1].[sID] < [cte2].[sID]
and [cte1].[enumID] = [cte2].[enumID]
and [cte1].[valueID] = [cte2].[valueID]
and [cte1].[ccount] = [cte2].[ccount]
group by [cte1].[sID], [cte2].[sID], [cte1].[enumID], [cte1].[ccount]
having count(*) = [cte1].[ccount]
order by [cte1].[sID], [cte2].[sID] --, [cte1].[enumID], [cte1].[valueID];
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다