SQL Необходимо вывести список клиентов с суммой всех долгов на кажого

Alexos

Новичок
SQL Необходимо вывести список клиентов с суммой всех долгов на кажого

Здравствуйте, помогите написать запрос, PLZ.

Есть 2 таблицы:
CLIENTS - таблица клиентов
ZAKAZ - таблица заказов, связанная с верхней по CLIENT_ID (Записей на каждого клиента много. В каждой записи имеется долг по заказу DOLG.)

Необходимо вывести список клиентов с суммой всех долгов на каждого.

Делаю так:

[SQL]
SELECT CLIENTS.CLIENT_ID,
CLIENTS.FIO,

SUM(ZAKAZ.DOLG*ZAKAZ.CURS) as SUM_DOLG,

FROM CLIENTS
LEFT JOIN ZAKAZ ON (ZAKAZ.CLIENT_ID=CLIENTS.CLIENT_ID)
GROUP BY CLIENTS.CLIENT_ID
[/SQL]

Ответ:
Dynamic SQL Error SQL error code = -104 Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause)

Что я делаю не так? :(
 

Wicked

Новичок
что-то мне кажется, что у тебя вовсе не MySQL в качестве базы данных используется :)
 

Alexos

Новичок
Wicked
угу :(
в том то всё и дело, что пришлось столкнуться с грёбанным файрбёрдом.. заколебался уже.. постоянно какие то косяки..

Вместо человеческого LIMIT, FIRST и SKIP.. нельзя сортировать по синониму названия поля в запросе.. про функции вообще молчу.. нельзя то сё.. пятое десятое.. заколебался уже..
 

Wicked

Новичок
вообще человек с программистским стажем 4 года должен уметь использовать гугл самостоятельно :)
 

Alexos

Новичок
к сожалению я не программист :(
так.. задачки возникают время от времени..

-~{}~ 04.12.07 18:14:

А вообще конечно кто бы мог подумать, что все поля, что не под аграгатами должны участвавать в группировке. ппц..
ещё раз спасибо..

-~{}~ 06.12.07 15:11:

Блин! Не знаю куда постить.. Раз мне здесь помогли, то сюда и сабмичу в продолжении этой темы. Короче, теперь проблема вывести кол-во клиентов с долгами :((((
[SQL]
SELECT COUNT(CLIENTS.CLIENT_ID) as COUNT_ALL
FROM CLIENTS
LEFT JOIN ZAKAZ ON (ZAKAZ.CLIENT_ID=CLIENTS.CLIENT_ID)
WHERE ZAKAZ.DOLG <> 0
GROUP BY CLIENTS.CLIENT_ID
[/SQL]
Выводит 8, а их должно быть 401. Чё за бред? Не понимаю.. Что не так?
 

Pigmeich

Новичок
*brings telephat power*

Alexos
а ты уверен что 401 клиентов, а не заказов?
 

MurMyau

Новичок
Alexos
а разве можно группировать по тому же полю, которое используется в агрегатной функции?
 
Сверху