Как подсчитать все объединенные вхождения в SQL?

Есть ли возможность получить подсчитанные комбинации всех элементов в одном SQL-запросе без использования временных таблиц или процедур?

Рассмотрим эти три таблицы:

  • продукты (id, product_name)

  • транзакции (id, date)

  • transaction_has_product (id, product_id, transaction_id)

Примеры данных

  • продукты

     1 AAA
    2 BBB
    3 CCC
    
  • транзакции

     1 some_date
    2 some_date
    
  • transaction_has_products

     1 1 1
    2 2 1
    3 3 1
    4 1 2
    5 2 2
    

Результат должен быть:

AAA, BBB = 2   
AAA, CCC = 1   
BBB, CCC = 1   
AAA, BBB, CCC = 1
6
задан Jonathan Leffler 3 March 2013 в 23:54
поделиться