![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите з отчетом 2
Doctor © (2002-07-17 10:33:00)люди, в продолжение вчерашней темы по отчету......
почему не работает этот запрос, и как сделать правильно, буду очень благодарен, если ответите......
select
optionid,sum(SUMMA) as sum1,count(dogovorid) as c1,null,null,null,null
from DOGOVOR
where zayavl_data <= :kon
group by optionid
union all
select
optionid,null,null,sum(SUMMA) as sum2,count(dogovorid) as c2,null,null
from DOGOVOR
where zayavl_data <= :nach
group by optionid
union all
select
optionid,null,null,null,null,sum(SUMMA) as sum3,count(dogovorid) as c3
from DOGOVOR
where zayavl_data between :nach and :kon
group by optionid
ПИТОН (2002-07-17 11:33:00) [1]Попробуй их сначала объединить, а потом суммировать
Johnmen (2002-07-17 11:29:00) [2]Нет-нет-нет !!! Не надо записывать меня в соучастники !
Попробуй все же отладиться в IBConsole.
Хотя, конечно, данный запрос работать не будет из-за группировки.
Doctor (2002-07-17 11:21:00) [3]вот-вот.
ошибка FireBirdа
а я и сижу EMSQuickDesk 2.0
в IBExpert вообще херню на ошибки пишет
ладно все равно спасибо за соучастие
Johnmen (2002-07-17 11:16:00) [4]>Doctor (17.07.02 11:01)
>не надо обижать :-(
И в мыслях не было !
>Invalid token.
>Dynamic SQL Error.
>SQL error code = -104.
>Token unknown - , .
Думаю, понятно, что ошибка не дельфовая...
1. глянь на char 460 в line 1 - что там ?
2. укажи тип СУБД
3. попробуй отладить запрос с пом. к.-л. интерактивного средства.
Doctor (2002-07-17 11:02:00) [5]насчет группировки я тоже думал, но без нее никак
вот я ж и спрашиваю как лучше сделать :-)
Doctor (2002-07-17 11:01:00) [6]вот тебе ошибка, послушай я не полный дятел в делфи,
не надо обижать :-(
вот тебе ошибка, работаю в EMSQuickDesk 2.0
SQLEditorForm.Query:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, char 460.
D.
Johnmen (2002-07-17 10:57:00) [7]Ошибка м.б.неинформативной для тебя :) , а для других - очень даже !
Догадываюсь, что группировка не проходит, т.к. есть исскусственные поля...
Doctor (2002-07-17 10:49:00) [8]да, но вот так тоже не работает
select
optionid,sum(SUMMA) as sum1,count(dogovorid) as c1,0 as sum2,0 as c2,0 as sum3,0 as c3
from DOGOVOR
where zayavl_data <= :kon
group by optionid
union all
select
optionid,0 as sum1,0 as c1,sum(SUMMA) as sum2,count(dogovorid) as c2,0 as sum3,0 as c3
from DOGOVOR
where zayavl_data <= :nach
group by optionid
union all
select
optionid,0 as sum1,0 as c1,0 as sum2,0 as c2,sum(SUMMA) as sum3,count(dogovorid) as c3
from DOGOVOR
where zayavl_data between :nach and :kon
а не пишу как не работает, потому что ошибку выдает не информативную
group by optionid
Johnmen (2002-07-17 10:44:00) [9]Вообще то принято указывать, как неработает...
По существу :
вместо ...null,null,null,null...
надо ...0 AS c7, "" AS c8, 0 AS c9,... и т.д. и т.п.