Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / SUM с условием / 8 сообщений из 8, страница 1 из 1
06.08.2007, 17:14
    #34708545
Masygreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SUM с условием
Есть допустим таблица в ней есть поля сумма и буквенное название валюты ('RUB','USD')
Возможно ли в одном SQL запросе получить отдельно эти суммы ... без группировки т.к. групировка по контрагентам .. поля с валютой в перемешку и т.д.

В конце отчета надо вывести итого по каждой валюте отдельно...
DECLARE @RUBTXT varchar(3)
SET @RUBTXT='RUB'

dbo.fnGetValSimv(c1.f$nrec) - возвращает валюту varchar(3)

что то вроде не работает -
,CASE WHEN dbo.fnGetValSimv(c1.f$nrec)=@RUBTXT THEN (select sum(c2.f$summaspec-c2.f$sumnds) from t$calplan c2 where c1.f$nrec = c2.f$nrec) else 0 end as sumRUB

причем если сделать то итоговая cумма бьет

,CASE WHEN dbo.fnGetValSimv(c1.f$nrec)=@RUBTXT THEN (select sum(c2.f$summaspec-c2.f$sumnds) from t$calplan c2 where c1.f$nrec = c2.f$nrec) else (select sum(c2.f$summaspec-c2.f$sumnds) from t$calplan c2 where c1.f$nrec = c2.f$nrec) end as sumRUB
...
Рейтинг: 0 / 0
06.08.2007, 17:25
    #34708585
Masygreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SUM с условием
а вот разделять сумму по валютам не хочет :(
...
Рейтинг: 0 / 0
06.08.2007, 17:29
    #34708604
Masygreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SUM с условием
Также не пашет
SUM(CASE dbo.fnGetValSimv(c1.f$nrec) WHEN @RUBTXT THEN c1.f$summaspec-c1.f$sumnds ELSE 0 END) as sumRUB

выдает ошибку конвертации... пачему??? непонятно
...
Рейтинг: 0 / 0
06.08.2007, 18:15
    #34708743
Masygreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SUM с условием
Ну вот так более удобочитаемо


DECLARE @RUBTXT varchar(3)
SET @RUBTXT='RUB'

DECLARE @USDTXT varchar(3)
SET @USDTXT='USD'

select
dog_nodoc, dog_ddoc,katorg_name, cp_nodoc,tipotd, dto, katnotes, cpaddterms, summa, addres, memo, valuta
,SUM (CASE valuta WHEN @RUBTXT THEN summa ELSE 0 END) as sumRUB

from dbo.fnTable2(@FPCOName,@a)
...
Рейтинг: 0 / 0
07.08.2007, 09:44
    #34709481
Дэр Пароль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SUM с условием
Вы пытаетесь суммировать без группировки? Такое невозможно!

Что за ошибка конвертации?

Что вообще в итоге хотите получить?
...
Рейтинг: 0 / 0
07.08.2007, 10:03
    #34709545
Masygreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SUM с условием
насчет группировки понял ...
а хочу получить сумму по выбору за один проход - пусть есть два запроса

select sum(summa) as summa_rub
from dbo.fnTable2(@FPCOName,@a)
where valuta='RUB'
GROUP BY VALUTA

select sum(summa) as summa_usd
from dbo.fnTable2(@FPCOName,@a)
where valuta='USD'
GROUP BY VALUTA

я могу получить эти суммы в одном запросе???? если это возможно то не использую группировку
...
Рейтинг: 0 / 0
07.08.2007, 10:24
    #34709628
Дэр Пароль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SUM с условием
Ну вот так например:

Код: plaintext
1.
2.
3.
4.
5.
6.
select sum(summa) as summa_rub
from dbo.fnTable2(@FPCOName,@a)
where valuta='RUB'
union all
select sum(summa) as summa_usd
from dbo.fnTable2(@FPCOName,@a)
where valuta='USD'

или вот так:

Код: plaintext
1.
2.
3.
4.
5.
select sum(summa) as summa_rub,
         (select sum(summa) from dbo.fnTable2(@FPCOName,@a)
         where valuta='USD'
         ) as summa_usd
from dbo.fnTable2(@FPCOName,@a)
where valuta='RUB'

Если нет остальных полей - то тогда группировка не нужна.

Вообще-то с такими вопросами вам надо туда .
...
Рейтинг: 0 / 0
07.08.2007, 10:36
    #34709674
Masygreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SUM с условием
спасибо ... в том то и дело что поля другие есть .. :(
ладно тема закрыта решил не париться просто два датасета новых сделал и все...
хотелось более красивое решение конечно и без группировки..
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / SUM с условием / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]