У меня есть структура таблицы, как это:Это можно сделать в SQL-запросе? (Вроде диаграммы Венна)
- месяц (DateTime)
- счета (INT)
- продукта (интермедиат)
- AmountPaid (INT)
и некоторые данные пример:
month account product amountPaid
------------------------------------
1-1-2012 1 1 50
2-1-2012 1 1 50
2-1-2012 2 1 150
2-1-2012 2 2 100
То, что я хотел бы это запрос, который может сказать мне,
- Для каждого месяца, количество счетов, которые заплатили за единственным продуктом 1.
- Количество счетов, которые выплачиваются только продукт 2 .
- и количество счетов, оплаченных для обоих продуктов 1 и 2.
Кроме того, продукты, которые каждый платит за счет может меняться от месяца к месяцу. Например, за один месяц учетная запись может оплатить только продукт 1, следующий месяц, как продукты 1 и 2, так и в следующем месяце, только продукт 2.
Это можно сделать в SQL-запросе?
Результирующий набор может понравиться что-то вроде:
month product count
------------------------
1-1-2012 1 10
1-1-2012 2 5
1-1-2012 1+2 3
2-1-2012 1 8
2-1-2012 2 4
2-1-2012 1+2 2
Сколько различных продуктов Вы? –
Просто два продукта 1 и 2. –
Истинный ответ: SQL может делать все, что угодно, с достаточным программированием. С каждым выпуском все становится намного проще. Вероятно, вы захотите заглянуть в хранимую процедуру для запуска этого типа запроса, и, скорее всего, для каждого цикла будет использоваться курсор. – ps2goat