![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
FireBird SQL синтаксис [D7, FB]
axx © (2005-09-28 12:05:00)Подскажите возможно ли в ФБ использовать запросы типа
Select TempTab.* from (Select Tab1.ID from Tab1) as TempTab
в МSSQL можно. Может синтаксис другой ??
msguns (2005-09-28 13:14:00) [1]>Johnmen © (28.09.05 12:25) [7]
>Но иногда (у меня крайне редко), бывает нужно применить селект из селекта. И то потому, что так проще, или быстрее, или ещё как...
У меня было так: работая с фб, задрался для каждого клиентского датасета рисовать все эти пересортировки, фильтры, поиски и т.д. и в итоге решил сваять что-то универсальное. Так вот, при разработке этого модуля пришлось делать парсер сиквель-запросов на предмет их модификаций (например для изменения порядка сортировки, изменения условий выборки (фильтров), поисков и т.д.). Убил море нервов и времени, но все равно периодически мой модуль банально глючил. Потом с этого же форума "считал" ветки про адо с постами сникника (отдельный поклон) и других мастеров-"скалолазов". Поисследовал классы TADO... и обнаружил в них ну просто громенное кол-во вкусностей, начисто отсутствующих в семействе TIB. Потом "подсмотрел" механизм Select from select и.. Короче, учать фб была решена ;(.
Хотя, повторюсь, возможно реально было найти нормальное решение и для TIB, но я просто плюнул, ибо слишком морочливо оказалось.
Хотя вот генераторов и "конкретики" транзакций мне в "наскальном" творчестве явно не хватает :))
Desdechado (2005-09-28 13:09:00) [2]пока ждешь, упрощай запрос, чтоб объединениями таблиц обойтись
axx (2005-09-28 13:08:00) [3]Johnmen
Есть но не релиз а rc..
Johnmen (2005-09-28 12:41:00) [4]>axx (28.09.05 12:35) [8]
>Ждем релиза 2 и надеемся.... :-)
Уже есть. Правда бета, насколько я в курсе...
axx (2005-09-28 12:35:00) [5]То Desdechado
Я упростил до безобразия чтобы объяснить что нужно, можно было конечно километровый запрос привести - ты бы стал в нем разбираться ? а так все просто и понятно. Ответ НЕТ. Ждем релиза 2 и надеемся.... :-)
Johnmen (2005-09-28 12:25:00) [6]>msguns © (28.09.05 12:11) [4]
:)
Серега, я думаю, что в большинстве случаев - кривизна рук.
Но иногда (у меня крайне редко), бывает нужно применить селект из селекта. И то потому, что так проще, или быстрее, или ещё как...
Тогда селект из view.
Андрей Жук (2005-09-28 12:18:00) [7]можно в 2.0
Desdechado (2005-09-28 12:17:00) [8]Запрос
Select TempTab.* from (Select Tab1.ID from Tab1) as TempTab
равноценен
Select Tab1.ID from Tab1
Зачем огород?
А просто выборку из выборки делать - нельзя. Но можно вполне обойтись объединением таблиц, участвующих во внешних и внутрениих выборках, т.е. по-другому построить запрос.
msguns (2005-09-28 12:11:00) [9]>axx (28.09.05 12:08) [2]
>Придется через процедуру а так нехотелось.
Во-во ! Приходится "на ровных местах" плодить ХП и вьюхи. Причем десятками и сотнями ;))
Правда, джонмэн утвержает, что это не от кривости сиквеля, а от кривости рук (мозгов) ;)))
msguns (2005-09-28 12:09:00) [10]Нет.
Хотя ходят слухи, что планируется в новых версиях поддержка вложенных запросов.
Это была одна из главных причин моего отказа от ФБ в пользу акцеса (локалки) и скалы (сеть)
axx (2005-09-28 12:08:00) [11]Жаль . Придется через процедуру а так нехотелось.
Спосибо.
Sergey13 (2005-09-28 12:07:00) [12]Нет