Rows во вложенном запросе.

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Klyk
Сообщения: 100
Зарегистрирован: 26 окт 2004, 23:28

Rows во вложенном запросе.

Сообщение Klyk » 27 дек 2005, 05:40

не нашёл никде в документации.
Почему не работает Rows во вложенном запросе типа

select ....
where field = (select....
where....
rows 1
)

з.ы. IB 7.5

или у меня опять предновогодний кризис мыслей....

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 27 дек 2005, 10:16

потому что и не должен. В FB во вложенных запросах first например работает только с order by, причем сделано это было специально по просьбе, и в общем "в нарушение стандарта".

Klyk
Сообщения: 100
Зарегистрирован: 26 окт 2004, 23:28

Сообщение Klyk » 27 дек 2005, 23:38

Именно с order by мне и нужно :(

А почему это считается "нарушением стандарта"?

почему если не вложеный запрос, то работает...и это стандарт, а если вложеный...то не работает... и это тоже стандарт.

ЗЫ. вопрос я решил на ХП. но всё таки.....

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 27 дек 2005, 23:48

вложенные запросы и вообще sql - это операции со МНОЖЕСТВАМИ. Сортировка применяется только к КОНЕЧНОМУ РЕЗУЛЬТАТУ, и в реляционной алгебре (подзапросы, join) никаких сортировок нет в принципе. Поэтому во вложенных запросах сортировки не может быть как таковой.

Klyk
Сообщения: 100
Зарегистрирован: 26 окт 2004, 23:28

Сообщение Klyk » 28 дек 2005, 04:18

kdv писал(а):вложенные запросы и вообще sql - это операции со МНОЖЕСТВАМИ. Сортировка применяется только к КОНЕЧНОМУ РЕЗУЛЬТАТУ, и в реляционной алгебре (подзапросы, join) никаких сортировок нет в принципе. Поэтому во вложенных запросах сортировки не может быть как таковой.
Хм.... я это не грокк в полной мере...надо будет ещё с этим как-нить толком разобраться.

Спасибо. вопрос снят.

Ответить