Хорошо, я некоторое время не занимался SQL. Это самое глубокое, что я должен был получить. В принципе у меня есть, чтобы развернуть таблицу, а затем разбить ее в зависимости от дат.SQL Pivot для нескольких строк ... CONFUSED?
Прямо сейчас у меня есть транзакция, которая проходит. Существует три типа транзакций. Допустим, доставлено, отправлено, возвращено. Таким образом, моя таблица имеет идентификатор транзакции, дату транзакции и тип транзакции. Мне нужно развернуть это и подсчитать, затем суммировать типы транзакций. У меня есть этот код:
SELECT
SUM(Delivered),
SUM(Shipped),
SUM(Returned),
TransactionID,
TransactionDate
FROM
(
(SELECT
TransactionID,
TransactionDate,
TransactionType
FROM Transactions) AS Ttable
PIVOT
(
COUNT(TransactionType)
FOR TransactionTYpe IN
(
[Delivered],
[Shipped],
[Returned]
)
) as Pvt1
)
Это значение суммы для каждого типа транзакции. Однако это дает мне итоговые значения для ВСЕХ типов транзакций, которые exsist. Мне нужно получить все это за определенный промежуток времени. Например (и я знаю, что это будет множество переменных, но это единственный способ, которым мое приложение может это сделать), мне нужно узнать сумму всех типов транзакций за январь 2010 - декабрь 2012 года за каждый месяц. Итак, 12x3. Как я могу так сломать это? Пожалуйста помоги! Схожу с ума!
Проблема в том, что мне нужны столбцы. Поэтому вместо того, чтобы заказывать их. Мне нужно отправлено, доставлено, возвращено на январь 2010 года, затем отправлено, отправлено, возвращено на февраль 2010 года. Все это нужно заказать. – Tom 2010-12-06 15:47:48