Прошу помочь с фукцией SUM

ayazahmadov
Дата: 20.06.2011 09:33:28
Я хочу написать запрос следующего характера:

Payment - Таблица, отображающая кассу (приходы и расходы)
PayAmount - столбец таблицы Payment, который определяет тип опреации (приход=1 или расход=0)
PayCurrency - Денежная валюта операции

---------------- пишу

SELECT PayCurrency,SUM(PayAmount WHERE PaymentType='1' - PayAmount WHERE PaymentType='0') AS CashResidue FROM Payment WHERE PayCurrency != '' GROUP BY PayCurrency

Задача: сложить все строки столбца PayAmount у которых PaymentType = '1' и вычесть оттуда все строки столбца PayAmount у которых PaymentType = '0'. Тем самым мы вычитываем расход из прихода, определяем остаток и делим этот остаток на имеющиеся валюты.

Прошу помочь.
iap
Дата: 20.06.2011 09:41:12
SELECT
  PayCurrency
, SUM(CASE PaymentType WHEN '1' THEN 1 ELSE -1 END * PayAmount) AS CashResidue
FROM Payment
WHERE PayCurrency <> ''
GROUP BY PayCurrency;
iap
Дата: 20.06.2011 09:44:40
Так точнее:
SELECT
  PayCurrency
, SUM(CASE PaymentType WHEN '1' THEN 1 WHEN '0' THEN -1 ELSE 0 END * PayAmount) AS CashResidue
FROM Payment
WHERE PayCurrency <> ''
GROUP BY PayCurrency;
Какого типа PaymentType? Если INT, то зачем одинарные кавычки?
ayazahmadov
Дата: 20.06.2011 10:28:21
iap,

чем эти 2 запроса отличаются?

PaymentType = int
ayazahmadov
Дата: 20.06.2011 11:18:53
огромное спасибо, iap.