Сумма SQL с условием

У меня в настоящее время есть большой SQL-оператор, который я добавляю следующую строку к тому, для получения общих наличных денег для каждого идентификатора транзакции (которые уникальны):

select sum(cash) from Table a where a.branch = p.branch 
and a.transID = p.transID) TotalCash

и я теперь должен сделать тот же, но только составить денежную стоимость, которая имеет valuedate в течение прошлого месяца, таким образом, у меня есть что-то вроде этого:

select sum(CASE ValueDate WHEN > @startMonthDate THEN cash ELSE NULL END) 
from Table a where a.branch = p.branch and a.transID = p.transID) TotalMonthCash

Извините, что у меня нет целого оператора, но это действительно длинно и характерно для контекста хранимой процедуры, но надеялось, что кто-то будет знать то, что я имею в виду?

58
задан 23 December 2010 в 13:06

1 ответ

С условием, ИМЕЮЩИМ Вас, устранит данные с наличными деньгами не, ультрапередают 0, если Вы хотите, генерируя больше эффективности в Вашем запросе.

SELECT SUM(cash) AS money FROM Table t1, Table2 t2 WHERE t1.branch = t2.branch 
AND t1.transID = t2.transID
AND ValueDate > @startMonthDate HAVING money > 0;
0
ответ дан 1 November 2019 в 14:10

Другие вопросы по тегам:

Похожие вопросы: