![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ORDER BY в многотабличном запросе. [D7, IB6.x]
Patrick © (2004-01-08 16:58:00)
Господа! Подскажите, пожалуйста, как в многатабличном запросе выполнить ORDER BY, имеется запрос:
SELECT * FROM TABLE1
UNION ALL
SELECT * FROM TABLE2
а теперь всё это нужно ORDER BY FIELD_2,
естественно это поле есть в обеих таблицах, и структуры этих таблиц идентичны.
Desdechado (2004-01-09 16:05:00) [1]
учите матчасть - order by применяется ко всему результату
ЮЮ (2004-01-09 02:48:00) [2]
Это и на парадоксе работает. Синтаксис такой :-)
kaif (2004-01-08 18:42:00) [3]
Это работает на любом InterBase.
MV (2004-01-08 17:54:00) [4]
Вот! Нам бы все жаловаться на несовершенство релационных БД и отсутствие множественного наследования в Delphi!
Всех с праздниками! Прошедшими.
Vlad (2004-01-08 17:51:00) [5]
> MV (08.01.04 17:44) [11]
Не то что хорошо - это супер, вот только на первый взгляд странновато что так работает.
MV (2004-01-08 17:44:00) [6]
Это плохо или хорошо?
Vlad (2004-01-08 17:40:00) [7]
Точно, на Yaffil попробовал - сортирует весь набор.
Странно :-)
MV (2004-01-08 17:33:00) [8]
Все отсортируется.
Vlad (2004-01-08 17:30:00) [9]
> MV (08.01.04 17:26) [6]
И че будет ? :-)
Половина НД отсортировано, половина - нет ? :-)
MV (2004-01-08 17:29:00) [10]
Только что проверил! Прокатит:
SELECT * FROM TABLE1
UNION
SELECT * FROM TABLE2
ORDER BY 2
/* FireBird 1.5 RC7 */
Удачи!
MV (2004-01-08 17:26:00) [11]
Ну, не ленись, и сделай как-нибудь так:
select f1_1, f1_2, f1_3 from f1
union
select f2_1, f2_2, f3_3 from f2
order by 1 /* 1..3 */
Vlad (2004-01-08 17:22:00) [12]
просто при такой конструкции индексы не будут использоваться, а значит сортировка будет медленная.
Синтаксис простой:
select * from MyView order by field_2
или
select * from MyStoredProc order by field_2
Patrick (2004-01-08 17:19:00) [13]
Да вот про то и речь, если бы MS SQL, то тогда без вопросов,
а по поводу View или хранимой, то у меня это должно быть в процедуре, а при чем тут индексы, ну хорошо, а каков тогда синтаксис выражения?
Vlad (2004-01-08 17:14:00) [14]
> Tt (08.01.04 17:11) [2]
в InterBase так нельзя :-)
Tt (2004-01-08 17:11:00) [15]
select * from
(SELECT * FROM TABLE1
UNION ALL
SELECT * FROM TABLE2
)
order by 2 ?
Vlad (2004-01-08 17:08:00) [16]
Делать select из View или из хранимой процедуры.
Естественно, про индексы забудь.