Количество происходящих вместе в SQL Server - PullRequest
0 голосов
/ 21 марта 2019

У меня есть набор данных, в котором настроены проекты и продукты. Я хотел узнать количество проектов, в которых эти продукты встречаются вместе.

Мой набор данных:

enter image description here

Я ищу отчетливый вывод

enter image description here

Я пытался использовать самостоятельное соединение, но получаю дубликаты в таких комбинациях, как C2 C3 C4 и C2 C4 C3.

Кто-нибудь может подсказать, как нам этого добиться?

1 Ответ

3 голосов
/ 21 марта 2019

Вы используете самостоятельное соединение. , , дважды:

select d1.product, d2.product, d3.product, count(*)
from dataset d1 join
     dataset d2
     on d1.project = d2.project and
        d1.product < d2.product join
     dataset d3
     on d2.project = d3.project and
        d2.product < d3.product
group by d1.product, d2.product, d3.product;
...