Форум: "Базы";
Текущий архив: 2003.05.26;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c