Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.02;
Скачать: CL | DM;

Вниз

ORDER BY в многотабличном запросе.   Найти похожие ветки 

 
Patrick ©   (2004-01-08 16:58) [0]

Господа! Подскажите, пожалуйста, как в многатабличном запросе выполнить ORDER BY, имеется запрос:
SELECT * FROM TABLE1
UNION ALL
SELECT * FROM TABLE2
а теперь всё это нужно ORDER BY FIELD_2,
естественно это поле есть в обеих таблицах, и структуры этих таблиц идентичны.


 
Vlad ©   (2004-01-08 17:08) [1]

Делать select из View или из хранимой процедуры.
Естественно, про индексы забудь.


 
Tt   (2004-01-08 17:11) [2]

select * from
(SELECT * FROM TABLE1
UNION ALL
SELECT * FROM TABLE2
)
order by 2 ?


 
Vlad ©   (2004-01-08 17:14) [3]


> Tt (08.01.04 17:11) [2]

в InterBase так нельзя :-)


 
Patrick ©   (2004-01-08 17:19) [4]

Да вот про то и речь, если бы MS SQL, то тогда без вопросов,
а по поводу View или хранимой, то у меня это должно быть в процедуре, а при чем тут индексы, ну хорошо, а каков тогда синтаксис выражения?


 
Vlad ©   (2004-01-08 17:22) [5]

просто при такой конструкции индексы не будут использоваться, а значит сортировка будет медленная.
Синтаксис простой:
select * from MyView order by field_2
или
select * from MyStoredProc order by field_2


 
MV   (2004-01-08 17:26) [6]

Ну, не ленись, и сделай как-нибудь так:
select f1_1, f1_2, f1_3 from f1
union
select f2_1, f2_2, f3_3 from f2
order by 1 /* 1..3 */


 
MV   (2004-01-08 17:29) [7]

Только что проверил! Прокатит:
SELECT * FROM TABLE1
UNION
SELECT * FROM TABLE2
ORDER BY 2

/* FireBird 1.5 RC7 */

Удачи!


 
Vlad ©   (2004-01-08 17:30) [8]


> MV (08.01.04 17:26) [6]

И че будет ? :-)
Половина НД отсортировано, половина - нет ? :-)


 
MV   (2004-01-08 17:33) [9]

Все отсортируется.


 
Vlad ©   (2004-01-08 17:40) [10]

Точно, на Yaffil попробовал - сортирует весь набор.
Странно :-)


 
MV   (2004-01-08 17:44) [11]

Это плохо или хорошо?


 
Vlad ©   (2004-01-08 17:51) [12]


> MV (08.01.04 17:44) [11]

Не то что хорошо - это супер, вот только на первый взгляд странновато что так работает.


 
MV   (2004-01-08 17:54) [13]

Вот! Нам бы все жаловаться на несовершенство релационных БД и отсутствие множественного наследования в Delphi!
Всех с праздниками! Прошедшими.


 
kaif ©   (2004-01-08 18:42) [14]

Это работает на любом InterBase.


 
ЮЮ ©   (2004-01-09 02:48) [15]

Это и на парадоксе работает. Синтаксис такой :-)


 
Desdechado ©   (2004-01-09 16:05) [16]

учите матчасть - order by применяется ко всему результату



Страницы: 1 вся ветка

Текущий архив: 2004.02.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.301 c
7-2390
DJ Vano
2003-10-12 15:54
2004.02.02
Кнопки и папки


3-2036
СлБ
2004-01-06 08:12
2004.02.02
QuickReport программно сохранить/открыть отчет


3-2034
Patrick
2004-01-05 10:46
2004.02.02
Импорт в Oracle


1-2090
Алексей
2004-01-20 10:37
2004.02.02
Как сделать копию файла?


3-2014
GASTON
2004-01-06 17:00
2004.02.02
date в MySQL