Форум: "Базы";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
ВнизUNION Найти похожие ветки
← →
GanibalLector © (2004-11-10 21:37) [0]Можно ли использовать order by в обьедененных запросах (те,которые с union).И как собственно должен выглядеть такой запрос???Пробовал так :
select ... from таблица where ... order by некоторое поле
union
select ... from таблица2 where ... order by некоторое поле
Не получилось. :(
← →
jack128 © (2004-11-10 21:50) [1]нет, так нельзя. Сортировка действует на весь запрос целиком, а не на каждый подзапрос. То что ты хочешь можно сделать так:
select ...., 0 as OrderField from таблица where ...
union
select ..., 1 as OrderField from таблица2 where ...
order by <номер поля OrderField>
← →
GanibalLector © (2004-11-10 21:52) [2]Пасиба
← →
Johnmen © (2004-11-10 22:02) [3]В данном случае ORDER BY необязателен. Достаточно перечислить поля в SELECT в нужном для сортировки порядке.
← →
jack128 © (2004-11-10 22:07) [4]GanibalLector © (10.11.04 21:52) [2]
Пасиба
за что спасибо??? Я ступил по крупному. Хотя, если те именно это и надо было, то пожалуйста..
← →
jack128 © (2004-11-10 22:20) [5]Johnmen © (10.11.04 22:02) [3]
А можно на примере?
Есть table1 c field1 integer, которая содержит данные
field1
2
10
5
и таблица table2
field2
8
3
20
на выходе должно быть, например
2
5
10 // первая таблица по возростанию поля field1
20
8
3 // вторая таблица по убыванию поля field2
Какой должен быть запрос??
← →
Johnmen © (2004-11-10 22:24) [6]>jack128 © (10.11.04 22:20) [5]
Не хочешь ли ты сказать, что ордер баем ты это решишь ?
:)))
Или это просто твой вопрос ?
← →
jack128 © (2004-11-10 22:29) [7]Johnmen © (10.11.04 22:24) [6]
Не хочешь ли ты сказать, что ордер баем ты это решишь ?
:)))
Кстати я не помню, сортировка по удф уже поддерживается?? Если - да, то можно и order by"ем ;-)
Нет - это мой вопрос. Естественно именно запросом, без SP.
← →
jack128 © (2004-11-10 22:32) [8]Хотя вру.. Даже с UDF не отсортируешь.. Значение псевдополя OrderField недоступно в самом запросе, а жаль..
← →
Johnmen © (2004-11-10 22:33) [9]>jack128 © (10.11.04 22:29) [7]
Ну вот так, например:
select 0, field1 from table1
union [all]
select 1, {maxint}-field1 from table1
← →
jack128 © (2004-11-10 22:48) [10]и где здесь сортировка??? И данные из таблицы 2?
← →
Johnmen © (2004-11-10 23:14) [11]Откинь all!!! Второе упоминание table1 следует читать table2!
← →
jack128 © (2004-11-10 23:32) [12]Johnmen © (10.11.04 23:14) [11]
Откинь all!!! Ага!! Дошло.
То есть сервер сам проводит сортровку, что определить нужно ли выкидывать записи из union"a. Сенкс..
← →
GanibalLector © (2004-11-11 00:39) [13]Кстати,только что открыл Грабера.Так вот,автор это делает как в [1].
← →
GanibalLector © (2004-11-11 01:22) [14]>а что спасибо??? Я ступил по крупному.
Ничего подобного.Все прекрасно работает.Решение Johnmen тоже правильное,но все дело в том,что переписывать запрос лень...уж лучше order by 9,11,2 ;)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c