Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.26;
Скачать: CL | DM;

Вниз

SELECT, JOIN and GROUP BY   Найти похожие ветки 

 
yurikon ©   (2003-05-06 09:46) [0]

Нужно соеденить две таблицы: главную (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, то ошибка исчезает, но запрос такой на фиг не нужен :-(


 
Соловьев ©   (2003-05-06 09:51) [1]


> A.Price

должен быть тогда агрегированым - count, sum, max...


 
Johnmen ©   (2003-05-06 09:55) [2]

Интересно, а что ты предполагал увидеть в поле Price при таком варианте запроса, как у тебя ????????????????


 
yurikon ©   (2003-05-06 14:05) [3]

>>Соловьев © (06.05.03 09:51)

>>A.Price

>>должен быть тогда агрегированым - count, sum, max...

Агрегированные функции обязывают вставить оператор GROUP BY, обратное не верно.


 
yurikon ©   (2003-05-06 14:07) [4]

>> Johnmen © (06.05.03 09:55)
>> Интересно, а что ты предполагал увидеть в поле Price при таком варианте запроса, как у тебя ????????????????

Все привильно, надо sum(A.Price), но ведь не работает и так!



 
Соловьев ©   (2003-05-06 14:16) [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) [6]

yurikon © (06.05.03 14:07)
а как ругается?


 
yurikon ©   (2003-05-06 14:21) [7]

>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.



 
Danilka ©   (2003-05-06 14:23) [8]

yurikon © (06.05.03 14:21)
она так ругается после sum(A.Price)?
то есть на запрос:
Соловьев © (06.05.03 14:16)
?


 
yurikon ©   (2003-05-06 14:28) [9]

Все теперь не ругается :-))


 
Johnmen ©   (2003-05-06 14:58) [10]

>Агрегированные функции обязывают вставить оператор GROUP BY, обратное не верно.

Не обязывают, и в обратную сторону не обязывает...:)
Ну это так, к слову...





Страницы: 1 вся ветка

Текущий архив: 2003.05.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
11-83432
Gandalf
2002-08-19 10:34
2003.05.26
Result:=(KOL) or (KOL and MCK);


4-83822
_Split_
2003-03-30 17:52
2003.05.26
Помогите со снимком экрана.


14-83691
Darkin
2003-05-06 01:58
2003.05.26
При попытке Внесений изменений в БД ругается??


6-83628
LORD
2003-03-26 20:31
2003.05.26
сервер + куча клиентов


1-83564
Evyshka
2003-05-14 09:00
2003.05.26
Как связать с программой файл помощи