Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.034 c
14-1100982847
Игорь Шевченко
2004-11-20 23:34
2004.12.12
Общество потребления


3-1099041934
stud
2004-10-29 13:25
2004.12.12
dbchart delphi7


1-1101751486
Elast
2004-11-29 21:04
2004.12.12
Класс с TList


9-1092490542
CoolProger:DWORD;
2004-08-14 17:35
2004.12.12
курсор мышки в дирекст


3-1100498357
Фазер
2004-11-15 08:59
2004.12.12
Приветствую всех! Вопрос по обработке except при коннекте в БД





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский