За последние 24 часа нас посетили 17780 программистов и 1715 роботов. Сейчас ищут 1734 программиста ...

Ветвеление в запросе...

Тема в разделе "Oracle Database", создана пользователем kostyl, 26 май 2009.

  1. kostyl

    kostyl Guest

    Подскажите как выполнить ветвление в запросе типа такого:
    [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
    from
    table1 t1[/sql]
    Не пойму где ошибка и как вообще сделать такое ветвление?
     
  2. Fastshot

    Fastshot Активный пользователь

    С нами с:
    8 июн 2009
    Сообщения:
    1
    Симпатии:
    0
    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