![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SELECT, JOIN and GROUP BY [D6, Paradox]
yurikon © (2003-05-06 09:46:00)Нужно соеденить две таблицы: главную (ExpenNo - код затрат, Price - сумма) и справочник (ActNo, Act, ParentNo - как обычно) и сгрупировать по условию ParentNo = 1:
SELECT ExpenNo, Price
FROM tVed17DetEx A LEFT JOIN tAct B ON A.ExpenNo=B.ActNo
WHERE B.ParentNo=1
GROUP BY A.ExpenNo
Выдает ошибку
When GROUP BY exists, every simple field in projectors must be in GROUP BY.
Если указать в group by еще и A.Price, то ошибка исчезает, но запрос такой на фиг не нужен :-(
Johnmen (2003-05-06 14:58:00) [1]>Агрегированные функции обязывают вставить оператор GROUP BY, обратное не верно.
Не обязывают, и в обратную сторону не обязывает...:)
Ну это так, к слову...
yurikon (2003-05-06 14:28:00) [2]Все теперь не ругается :-))
Danilka (2003-05-06 14:23:00) [3]yurikon © (06.05.03 14:21)
она так ругается после sum(A.Price)?
то есть на запрос:
Соловьев © (06.05.03 14:16)
?
yurikon (2003-05-06 14:21:00) [4]>Danilka © (06.05.03 14:16)
>yurikon © (06.05.03 14:07)
>а как ругается?
Вот так:
When GROUP BY exists, every simple field in projectors must be in GROUP BY.
Соловьев (2003-05-06 14:16:00) [5]
SELECT A.ExpenNo, Sum(A.Price)
FROM tVed17DetEx A LEFT JOIN tAct B ON A.ExpenNo=B.ActNo
WHERE B.ParentNo=1
GROUP BY A.ExpenNo
> Агрегированные функции обязывают вставить оператор GROUP
> BY, обратное не верно
я тебе как раз говорил про правлиьное...
Danilka (2003-05-06 14:16:00) [6]yurikon © (06.05.03 14:07)
а как ругается?
yurikon (2003-05-06 14:07:00) [7]>> Johnmen © (06.05.03 09:55)
>> Интересно, а что ты предполагал увидеть в поле Price при таком варианте запроса, как у тебя ????????????????
Все привильно, надо sum(A.Price), но ведь не работает и так!
yurikon (2003-05-06 14:05:00) [8]>>Соловьев © (06.05.03 09:51)
>>A.Price
>>должен быть тогда агрегированым - count, sum, max...
Агрегированные функции обязывают вставить оператор GROUP BY, обратное не верно.
Johnmen (2003-05-06 09:55:00) [9]Интересно, а что ты предполагал увидеть в поле Price при таком варианте запроса, как у тебя ????????????????
Соловьев (2003-05-06 09:51:00) [10]
> A.Price
должен быть тогда агрегированым - count, sum, max...