![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не получается SQL-запрос [D7, IB6.x]
Alexey © (2008-04-05 20:55:00)Господа, срочно требуется ваша помощь,а то я уже ничего не понимаю. Есть таблица SP_RASP (kod, fio, pred) и таблица VHOD (kod, pcvsego, podp, usminp, usvsp). Таблица VHOD является как бы сводной, т.е. там собираются суммы по коду, код может повторяться. Таблицы связал в IBExpert через поле kod. Хочу сделать следующий запрос: Вывести в сгруппированом виде: kod, fio, pred, sum(pcvsego), sum(podp), sum(usminp), sum(usvsp), т.е., чтобы в каждой строке выдавалась итоговая информация по конкретному коду. Пишу следующий SQL-Запрос:
select SP_RASP.kod, SP_RASP.fio, SP_RASP.pred, SUM(VHOD.pcvsego) "Podp_cena", SUM(VHOD.usminp) "Uslugi svyzi min", SUM(VHOD.usvsp) "Uslugi svyzi vsego", SUM(VHOD.podp) "Summa_prem" from SP_RASP INNER JOIN VHOD ON SP_RASP.kod=VHOD.kod
group by SP_RASP.kod
При активации запроса сразу же выводится следующее сообщение об ошибке:
Dynamic SQL Error
SQL error code = -104
invalid column reference
Как только убираю текстовые поля, коими здесь являются fio И pred, запрос спокойно выполняется. В чём ошибка? Или может быть запрос изначально неправилен?
Подскажите пожалуйста, очень необходим данный запрос.
MsGuns (2008-04-07 21:53:00) [1]Используйте подзапросы
kaif (2008-04-06 23:50:00) [2]При использовании агрегатных функций группировка должна делаться по всемоставшимся полям. То есть либо нужно вообще выкинуть те два поля из запрооса, либо добавить и их тоже в выражение group by. А иначе сервер не будет знать, что в них выводить, как справедливо заметил Anatoly Podgoretsky © (05.04.08 21:02) [1].
Anatoly Podgoretsky (2008-04-05 21:02:00) [3]> Alexey (05.04.2008 20:55:00) [0]
Да тут полная ерунда написана, какая еще группировка, когда в выборке диеин поля SP_RASP.fio, SP_RASP.pred, их чего прикажешь делать с помощью генератора случайных чисел, ты или убери их совсем или добавь в группировку. А еше лучше если посмотришь справку по select и group by