Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Помогите доработать запрос


Автор: AlexLogos 25.5.2011, 17:20
Народ, у меня в таблице есть поля где стоят идентификаторы значений из таблиц для подстановки. Поля не всегда заполнены. Но в одной таблице так уж случилось два поля подставляються из одной таблицы.
Для выбора данных я пишу запрос
Код

select T_OSOBA.id,coalesce(CL_350.text,'') LI_,coalesce(CL_350.text,'') LY_
from T_OSOBA left join CL_350 on T_OSOBA.LI_=CL_350.id left join CL_350 on T_OSOBA.LY_=CL_350.id 
where T_OSOBA.id in ( 1,2 ) order by T_OSOBA.id

но при выполнении пишет что поле определено неоднозначно. Как правильно оформить запрос?

Автор: Akina 25.5.2011, 17:39
дать таблицам алиасы.

Код

select
 T_OSOBA.id,
 coalesce(C1.text,'') LI_,
 coalesce(C2.text,'') LY_
from T_OSOBA 
left join CL_350 C1 on T_OSOBA.LI_=C1.id 
left join CL_350 C2 on T_OSOBA.LY_=C2.id 
where T_OSOBA.id in ( 1,2 ) 
order by T_OSOBA.id


Автор: AlexLogos 25.5.2011, 17:49
Спасибо! Так все отлично! smile 

Автор: Zloxa 25.5.2011, 19:28
Цитата(Akina @  25.5.2011,  17:39 Найти цитируемый пост)
''

В оракле пустая страка - null.
Ваш coalesce - бесполезен.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)