Вниз
Скачать: CL | DM;

Составляю SQL запросик   Найти похожие ветки 

 
Max Zyuzin ©   (2005-12-28 11:40) [0]

Приветствую всех!
Вот пишу запрос один, его урезанный вид можно примерно так записать:
select max(sBillSum) * (select distinct caTaxValue from CodeAgreement where caCode = sCodeAgreement)
from ShipmentMain where  sBill = "ЭР737378"

Так вот выполняя его меня посылают по след. адресу
Column "ShipmentMain.sCodeAgreement" is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause.

Т.е я понимаю, что он как бы не очень доволен умножением агрегатного max на что то еще но как его обойти не понимаю пока, т.е. вариант выбирать max Аналогичным способом, как и caTaxValue мона но как то все через одно место выглядит...
Т.е.
select (select max(sBillSum) from ...) * (select distinct caTaxValue from CodeAgreement where caCode = sCodeAgreement) ...


 
Nikolay M. ©   (2005-12-28 11:46) [1]

1) Что мешает таблицу CodeAgreement вынести из подзапроса?
2) distinct в подзапросе, конечно, хорошо, но есть гарантия, что подзапрос вернет только одно значение? Делай тогда уж TOP 1 или MAX (caTaxValue).


 
Курдль ©   (2005-12-28 11:49) [2]

В конечном итоге чё получить-то хочешь?


 
Max Zyuzin ©   (2005-12-28 11:59) [3]

>Nikolay M. ©   (28.12.05 11:46) [1]
1. Ух видать вчера перепраздновался, вынес из подзапроса и усе заработало.
2. Уверенность была ибо caCode это PK в таблице CodeAgreement

>Курдль ©   (28.12.05 11:49) [2]
Дык хотел получить произведения max из одной таблици на значение из другой



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.029 c
3-1132752488
Дмитрий_Б
2005-11-23 16:28
2006.01.22
Substr в Oracle


11-1117459740
rOOse
2005-05-30 17:29
2006.01.22
Добавление unit a


14-1135540014
TimeTable
2005-12-25 22:46
2006.01.22
Автоматическое составление расписаний


4-1131705864
Eraser
2005-11-11 13:44
2006.01.22
Разрешения в winNT/2K/XP


14-1135976799
Джо
2005-12-31 00:06
2006.01.22
Ну-с, флудеры,




   Наверх