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

Вниз

UNION query. SQL   Найти похожие ветки 

 
Шмель ©   (2007-01-10 10:30) [0]

Столкунулся со следующей проблемой не знаю как обойти!

Вот такой запрос
(SELECT o.*, i.* FROM orders as o, order_items as i WHERE o.order_id=i.order_id) UNION (SELECT o.*, i.* FROM orders_arch as o, order_items_arch as i WHERE o.order_id=i.order_id) ORDER BY time_create DESC LIMIT 50

в результате выдает результсэт где имена колонок стоят без o. i. а они обязательно должны быть (т.е. например мне должно вернуться, o.name, o.key, i.some,.... а возвращает просто name, key, some). Проблема здесь именно в UNION, если выполнять select"ы отдельно - то все ОК. В чем проблема разобраться не могу, в хелпе тоже ничего путного не нашел. Может кто сталкивался!

Вообщем, заранее спасибо


 
stone ©   (2007-01-10 10:32) [1]


> в результате выдает результсэт где имена колонок стоят без
> o. i. а они обязательно должны быть

тогда нужно присвоить колонкам псевдонимы


 
Шмель ©   (2007-01-10 10:40) [2]


> stone ©   (10.01.07 10:32) [1]


Это в смысле o.name as "o.name" и т.д... не катит - в табличках >50 полей


 
stone ©   (2007-01-10 10:44) [3]


> не катит - в табличках >50 полей

Чудес, к сожалению, не бывает.

ЗЫ. Тяжела и неказиста жизнь простого программиста...


 
Ega23 ©   (2007-01-10 10:47) [4]


> в табличках >50 полей


За все 7+ лет занятия БД видел только 1 таблицу в которой было около 35 полей.


 
Шмель ©   (2007-01-10 10:53) [5]


> stone ©   (10.01.07 10:44) [3]


Это bad


> Ega23 ©   (10.01.07 10:47) [4]


Ну сейчас пересчитал, там 45 полей, ошибся немножко:), так или иначе их там много....и ничего не выкинешь


 
Sergey13 ©   (2007-01-10 10:55) [6]

> [0] Шмель ©   (10.01.07 10:30)
> а они обязательно должны быть
А зачем, если не секрет?


 
Шмель ©   (2007-01-10 10:58) [7]


> А зачем, если не секрет?


Этот результсэт затем разбирается уже готовым отлаженным механизмом опираясь как раз на префиксы


 
evvcom ©   (2007-01-10 10:58) [8]

> [5] Шмель ©   (10.01.07 10:53)
> их там много....и ничего не выкинешь

Значит займись обезьяньей работой: перечислением всех o.* и i.*


 
ЮЮ ©   (2007-01-10 10:59) [9]


> Проблема здесь именно в UNION, если выполнять select"ы отдельно
> - то все ОК

Что, так и возвращает o.key, i.some ? Да уж, силен ЁSQL :)

Поле в orders и order_items всё-равно разные, не спутаешь.


 
Desdechado ©   (2007-01-10 11:13) [10]

> имена колонок стоят без o. i. а они обязательно должны быть
Странное желание.
Какой смысл в разборах по алиасам? Хотя, если есть одноименные, но разносмысловые поля в этих таблицах, тогда лучше им явные имена присвоить через AS. Но тогда не понятно, зачем делать разносмысловые имена одинаковыми?


 
Anatoly Podgoretsky ©   (2007-01-10 12:50) [11]

> Шмель  (10.01.2007 10:30:00)  [0]

Я не знаю имеет ли MySQL оптимизатор или нет, но в любом случае такой запрос на помойку, все поля должны быть перечислены ЯВНО и если ты жалуешься, что мол их много, то сейчас самый, самый момент задуматься, а ту ли я профессию выбрал, ведь в ней оказывается надо работать и учиться.



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

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

Наверх





Память: 0.47 MB
Время: 0.042 c
2-1173261538
zloy_dima
2007-03-07 12:58
2007.04.01
Поле BLOB


1-1171032439
Нож
2007-02-09 17:47
2007.04.01
gds_db 3050/tcp Unable to complete network request


3-1168866635
Alek_1
2007-01-15 16:10
2007.04.01
Как быстрее переслать данные клиенту


4-1163585456
MegaVolt
2006-11-15 13:10
2007.04.01
Как в WinXP отключить визульные эффекты для отдеьно взятого окна.


15-1173064617
Slider007
2007-03-05 06:16
2007.04.01
С днем рождения ! 5 марта





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