powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / LEFT JOIN вместе с CASE
9 сообщений из 9, страница 1 из 1
LEFT JOIN вместе с CASE
    #39634684
GroMoZeKazzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Выбираю данные из нескольких таблиц запросом вида:
запрос
Код: plsql
1.
2.
3.
select t1.f1, t2.f2, t3.f3 from t1
join t2 on t2.f1 = t1.f2
left join t3 on t3.f1 = t2.f1 



Там где left join ясно-понятно, что данные есть не всегда. Вот хочется вместо пустого поля вывести текстовое значение 'Отсутствует'. Но как прекрутить case - что-то никак не придумаю...
...
Рейтинг: 0 / 0
LEFT JOIN вместе с CASE
    #39634688
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nvl, nvl2.
...
Рейтинг: 0 / 0
LEFT JOIN вместе с CASE
    #39634693
GroMoZeKazzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробовал так

Код: plsql
1.
2.
3.
4.
5.
6.
7.
select t1.f1, t2.f2, 
case t3.f3 
when null then 'Отсутствует'
else t3.f3 end
from t1
join t2 on t2.f1 = t1.f2
left join t3 on t3.f1 = t2.f1 



Не взлетело.
...
Рейтинг: 0 / 0
LEFT JOIN вместе с CASE
    #39634707
-gt-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GroMoZeKazzz , Nulls with Comparison Conditions

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SQL> select case null when null then 1 else 0 end as a from dual;

         A
----------
         0

SQL> select case when null is null then 1 else 0 end as a from dual;

         A
----------
         1
...
Рейтинг: 0 / 0
LEFT JOIN вместе с CASE
    #39634723
Фотография Fogel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GroMoZeKazzzДобрый день.
Выбираю данные из нескольких таблиц запросом вида:
запрос
Код: plsql
1.
2.
3.
select t1.f1, t2.f2, t3.f3 from t1
join t2 on t2.f1 = t1.f2
left join t3 on t3.f1 = t2.f1 



Там где left join ясно-понятно, что данные есть не всегда. Вот хочется вместо пустого поля вывести текстовое значение 'Отсутствует'. Но как прекрутить case - что-то никак не придумаю...
Код: plsql
1.
2.
3.
select t1.f1, t2.f2, coalesce(cast(t3.f3 as varchar2), 'Отсутствует')  from t1
join t2 on t2.f1 = t1.f2
left join t3 on t3.f1 = t2.f1 
...
Рейтинг: 0 / 0
LEFT JOIN вместе с CASE
    #39634756
GroMoZeKazzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fogel, конструкция coalesce(cast(t3.f3 as varchar2), 'Отсутствует') выдает ошибку: PL/SQL: ORA-00906: missing left parenthesis.
...
Рейтинг: 0 / 0
LEFT JOIN вместе с CASE
    #39634767
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GroMoZeKazzz,

varchar2(xx)

ps

21360414

....
stax
...
Рейтинг: 0 / 0
LEFT JOIN вместе с CASE
    #39634781
GroMoZeKazzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nvl сработал норм.
...
Рейтинг: 0 / 0
LEFT JOIN вместе с CASE
    #39634787
GroMoZeKazzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax, благодарствую! varchar2(xx) тоже арбайтает!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / LEFT JOIN вместе с CASE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]