Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Составляю SQL запросик [D7, MSSQL]


Max Zyuzin ©   (2005-12-28 11:40:00) 

Приветствую всех!
Вот пишу запрос один, его урезанный вид можно примерно так записать:
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) ...


Max Zyuzin   (2005-12-28 11:59:00) [1]

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

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


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

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


Nikolay M.   (2005-12-28 11:46:00) [3]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо