Большой Воронежский Форум
» Программирование>Вложенные запросы SQL
KsandrXXX 16:13 29.05.2008
Здравствуйте уважаемые. Тут такая ситуация. Делаю запрос:

Сообщение от :
select max(i) from select count(*) i from moth_board group by firma)

По логике результатом запроса должно быть максимальное значение, но почему то выдает ошибку.

Сообщение от :
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, char 19.
select.

[Ответ]
AleksandrD 18:06 29.05.2008
Ну а где открывающаяся скобка перед вложенным select? [Ответ]
KsandrXXX 18:27 29.05.2008
Ой пардон... конечно в скобках...но он все равно не работает....

Сообщение от :
select max(i) from (select count(*) i from moth_board group by firma)

[Ответ]
DimmaN 20:16 29.05.2008
а так?

select max(ttt.i) from (select count(*) as i from moth_board group by firma) ttt

ЗЫ Мускуль али чо? [Ответ]
KsandrXXX 21:02 29.05.2008
и так... ((( мож ваще такая конструкция непредусмотрена... хотя примеров кучка....нипаньятно(
ЗЫ: фаерберд [Ответ]
MadFish 21:19 29.05.2008
Либо я туплю либо одно из двух.

Запрос по русски:
Сгруппировать записи в таблице moth_board , получить количество!!! записей после группировки и потом найти максимум(максимум чего????) !!!!!

Какой нафиг максимум когда у нас ОДНО значение(count) ?!?!?!?!?
ИМХО БРЕД !!!! [Ответ]
DimmaN 21:29 29.05.2008
KsandrXXX, откуда запрос запускается? Может проблема в программе, а не запросе? В комплекте файрберда есть программы отладки запросов, пробовал запускать в них?

Сообщение от :
Dynamic SQL Error.

- странное сообщение. Динамическим скул тут не пахнет.

У меня фаерберда нету, на МССКЛ все ровно работает. [Ответ]
AleksandrD 12:14 30.05.2008

Сообщение от KsandrXXX:
но он все равно не работает....

Выдает то же самое? Или char поменялся уже?

Сообщение от DimmaN:
странное сообщение. Динамическим скул тут не пахнет

В Interbase это стандартный заголовок ошибок выполнения запросов.
Да, насколько я помню, Interbase 4 и 5 весьма хреново обрабатывал вложенные подзапросы. Пришлось переписывать кучу кода и бить запросы на простейшие. Конечно 10 лет уже прошло и не Борландом уже писано :-), но.... может на два разбить? [Ответ]
KsandrXXX 15:13 30.05.2008

Сообщение от AleksandrD:
Или char поменялся уже?

Поменялся... был 19 стал 24

Сообщение от DimmaN:
KsandrXXX, откуда запрос запускается? Может проблема в программе, а не запросе? В комплекте файрберда есть программы отладки запросов, пробовал запускать в них? - странное сообщение. Динамическим скул тут не пахнет.

Использую IBExpert, кстати можно попробовать версию посвежее...

Сообщение от MadFish:
Либо я туплю либо одно из двух.
Какой нафиг максимум когда у нас ОДНО значение(count) ?!?!?!?!?

Может быть..
но запрос

Сообщение от :
select count(*) i from moth_board group by firma

формирует результат из 3-х записей.

Придется что нить другое придумать ... но любопытсву нет границ((( [Ответ]
Вверх