Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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 или из хранимой процедуры.
Естественно, про индексы забудь.


Наверх

Титульная страница Поиск, карта сайта Написать письмо