O
есть видео или статейка под рукой ?
WITH CTE as (
select orl.OrderID, orl.StockItemID as cat1, orl2.StockItemID as cat2 from [Sales].[OrderLines] orl
JOIN [Sales].[OrderLines] orl2 on orl2.OrderID = orl.OrderID and orl2.StockItemID <> orl.StockItemID
)
SELECT cat1, cat2, count(*) as intersection_count
FROM CTE
GROUP BY cat1, cat2
ORDER BY count(*) DESC, cat1, cat2 ASC
Сразу скажу - запрос будет медленным и индексы не помогут, т.к. используется соединение по неравенству.
