Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2010.01.10;
Скачать: [xml.tar.bz2];

Вниз

Сортировка   Найти похожие ветки 

 
Konrads   (2009-01-29 11:34) [0]

Делаю приблизительно такой запрос:

SELECT A, B, C, A + B AS D
WHERE <условия>
UNION
SELECT A, B, C, A + C AS D
WHERE <условия>


всё вроде работает, но никак нельзя отсортировать по полю D, ошибка invald order by clause

Получается что в случае обьединённого запроса в принципе нельзя сделать сортировку по вычисляемому полю?


 
Konrads   (2009-01-29 11:35) [1]

пропустил естественно FROM DB


 
Кщд   (2009-01-29 11:41) [2]

получается, что надо использовать "запрос из запроса" (FB2.0 разве не поддерживает?), либо сортировать по выражению


 
Konrads   (2009-01-29 11:46) [3]


> Кщд   (29.01.09 11:41) [2]

сортировать по выражению - это как?


 
Ega23 ©   (2009-01-29 11:47) [4]


Select * from (
SELECT A, B, C, A + B AS D
WHERE <условия>
UNION
SELECT A, B, C, A + C AS D
WHERE <условия>
) as T
Order By T.D


 
Konrads   (2009-01-29 11:54) [5]


> Ega23 ©   (29.01.09 11:47) [4]


Работает, большое спасибо!


 
Johnmen ©   (2009-01-29 11:54) [6]


> Konrads   (29.01.09 11:34) 

SELECT A + B AS D, A, B, C,
WHERE <условия>
UNION
SELECT A + C AS D, A, B, C,
WHERE <условия>


 
Виталий Панасенко   (2009-01-29 12:04) [7]

ORDER BY 4


 
Anatoly Podgoretsky ©   (2009-01-29 12:10) [8]

> Konrads  (29.01.2009 11:34:00)  [0]

Ни о какой сортировке говорить не приходится, по причине ее полного отсутствия в запросе!


 
Johnmen ©   (2009-01-29 12:11) [9]

Отсутствие явного указания сортировки.


 
Konrads   (2009-01-29 12:21) [10]


> Виталий Панасенко   (29.01.09 12:04) [7]

И так тоже работает, спасибо


 
Виталий Панасенко   (2009-01-29 14:04) [11]


> Konrads   (29.01.09 12:21) [10]

Аж странно!..:-)


 
Ega23 ©   (2009-01-29 15:11) [12]


> ORDER BY 4


Я бы поостерёгся так делать.


 
Anatoly Podgoretsky ©   (2009-01-29 15:54) [13]

> Ega23  (29.01.2009 15:11:12)  [12]

Почему, я бы наоборот, поскольку это по стандарту, а ORDER BY fld является расширением, а ORDER BY func извращением в данном случае


 
Правильный$Вася   (2009-01-29 15:57) [14]


> Я бы поостерёгся так делать

только из соображений "не забыть бы, когда меняешь число или порядок полей в select"
в этом случае [6] лучше, хоть там сортировка и неявная (можнои явную туда притулить, чтоб не забыть, что там все-таки должно быть сортированное)



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

Форум: "Базы";
Текущий архив: 2010.01.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.015 c
2-1258407251
котэ
2009-11-17 00:34
2010.01.10
Рисование на окне полноэкранного приложения


3-1232787769
zorik
2009-01-24 12:02
2010.01.10
как в Firebird узнать количество дней в месяце?


2-1258546185
Никита7
2009-11-18 15:09
2010.01.10
Как использовать Zlib в своей программе?


15-1257802213
Юрий
2009-11-10 00:30
2010.01.10
С днем рождения ! 10 ноября 2009 вторник


15-1257271998
trxnet
2009-11-03 21:13
2010.01.10
2 задачки. Размен денег и произведение многочленов





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский