Ainur.sm |
---|
Id Статья 1 Активы
SELECT CostKind, -SUM(qdfPayments.PaymentAmount * (Month(PaymentDate) = 1 AND qdfPayments.TransactionType = 'Расходы прочие')) AS Январь,-SUM(qdfPayments.PaymentAmount * (Month(PaymentDate) = 2 AND qdfPayments.TransactionType = 'Расходы прочие')) AS Февраль,-SUM(qdfPayments.PaymentAmount * (Month(PaymentDate) = 3 AND qdfPayments.TransactionType = 'Расходы прочие')) AS Март,-SUM(qdfPayments.PaymentAmount * (Month(PaymentDate) = 4 AND qdfPayments.TransactionType = 'Расходы прочие')) AS Апрель,-SUM(qdfPayments.PaymentAmount * (Month(PaymentDate) = 5 AND qdfPayments.TransactionType = 'Расходы прочие')) AS Май,-SUM(qdfPayments.PaymentAmount * (Month(PaymentDate) = 6 AND qdfPayments.TransactionType = 'Расходы прочие')) AS Июнь,-SUM(qdfPayments.PaymentAmount * (Month(PaymentDate) = 7 AND qdfPayments.TransactionType = 'Расходы прочие')) AS Июль,-SUM(qdfPayments.PaymentAmount * (Month(PaymentDate) = 8 AND qdfPayments.TransactionType = 'Расходы прочие')) AS Август,-SUM(qdfPayments.PaymentAmount * (Month(PaymentDate) = 9 AND qdfPayments.TransactionType = 'Расходы прочие')) AS Сентябрь,-SUM(qdfPayments.PaymentAmount * (Month(PaymentDate) = 10 AND qdfPayments.TransactionType = 'Расходы прочие')) AS Октябрь,-SUM(qdfPayments.PaymentAmount * (Month(PaymentDate) = 11 AND qdfPayments.TransactionType = 'Расходы прочие')) AS Ноябрь, -SUM(qdfPayments.PaymentAmount * (Month(PaymentDate) = 12 AND qdfPayments.TransactionType = 'Расходы прочие')) AS Декабрь, Январь + Февраль + Март + Апрель + Май + Июнь + Июль + Август + Сентябрь + Октябрь + Ноябрь + Декабрь AS Итого FROM qdfPayments WHERE qdfPayments.PaymentDate >= <FILTER1> AND qdfPayments.PaymentDate < <FILTER2> AND CostKind <>'' GROUP BY CostKind |
Попутный совет.
Поскольку условие qdfPayments.TransactionType = 'Расходы прочие' проверяется для всех строк,
включите его в WHERE. Запрос станет более обозримым. И работать будет быстрее.
SELECT CostKind,
-SUM(PaymentAmount * (Month(PaymentDate) = 1)) AS Январь,
-SUM(PaymentAmount * (Month(PaymentDate) = 2)) AS Февраль,
-SUM(PaymentAmount * (Month(PaymentDate) = 3)) AS Март,
-SUM(PaymentAmount * (Month(PaymentDate) = 4)) AS Апрель,
-SUM(PaymentAmount * (Month(PaymentDate) = 5)) AS Май,
-SUM(PaymentAmount * (Month(PaymentDate) = 6)) AS Июнь,
-SUM(PaymentAmount * (Month(PaymentDate) = 7)) AS Июль,
-SUM(PaymentAmount * (Month(PaymentDate) = 8)) AS Август,
-SUM(PaymentAmount * (Month(PaymentDate) = 9)) AS Сентябрь,
-SUM(PaymentAmount * (Month(PaymentDate) = 10)) AS Октябрь,
-SUM(PaymentAmount * (Month(PaymentDate) = 11)) AS Ноябрь,
-SUM(PaymentAmount * (Month(PaymentDate) = 12)) AS Декабрь,
Январь + Февраль + Март + Апрель + Май + Июнь + Июль + Август + Сентябрь + Октябрь + Ноябрь + Декабрь AS Итого
FROM qdfPayments
WHERE TransactionType = 'Расходы прочие' AND PaymentDate >= <FILTER1> AND PaymentDate < <FILTER2> AND CostKind <>''
GROUP BY CostKind
P.S. Пользуйтесь средствами оформления кода.
Уважайте тех, кому Вы его предлагаете разбирать.