Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
SQL, PL/SQL, T-SQL: запросы, DML DDL операторы, пакеты, процедуры, функции, триггеры и последовательности.
  • Страница:
  • 1

ТЕМА:

Ветвление в Oracle 12 года 9 мес. назад #797

Есть запрос, как правильно выполнить ветвление в таком запросе?

SQL:
select
t1.id,
( if (t1.flag=2) then
(selec t2. name from table2 t2 where t2.type1=t1.id)
else
(selec t2. name from table2 t2 where t2.type2=t1.id and t2.s is not null)
) as name_type
f rom
table1 t1

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Ветвление в Oracle 12 года 9 мес. назад #798

Вот так:

select
t1.id,
decode (
t1.flag,
2,
( select t2. name from table2 t2 where t2. type1=t1.id),
(select t2. name from table2 t2 where t2. type2=t1.id and t2.s is not null)
) as name_type
from table1 t1

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Ветвление в Oracle 12 года 9 мес. назад #1935

эти 2 строчки будут лишние ( select t2. name from table2 t2 where t2. type1=t1.id),
(select t2. name from table2 t2 where t2. type2=t1.id and t2.s is not null)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Ветвление в Oracle 12 года 8 мес. назад #3203

Semenich пишет: Есть запрос, как правильно выполнить ветвление в таком запросе?

SQL:
select
t1.id,
( if (t1.flag=2) then
(selec t2. name from table2 t2 where t2.type1=t1.id)
else
(selec t2. name from table2 t2 where t2.type2=t1.id and t2.s is not null)
) as name_type
f rom
table1 t1

вот так

Вот так:

select
t1.id,

( select t2. name from table2 t2 where t2. type1=t1.id),
(select t2. name from table2 t2 where t2. type2=t1.id and t2.s is not null)
) as name_type
from table1 t1

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
Время создания страницы: 0.221 секунд