2009-11-17 4 views

Odpowiedz

28

Dodaj alias MyTable tak:

select t.*, (case when PRI_VAL = 1 then 'High' 
       when PRI_VAL = 2 then 'Med' 
       when PRI_VAL = 3 then 'Low' 
      end) as PRIORITY 
from MYTABLE t; 

To nie jest zależne od konkretnej wersji Oracle, nie na pewno o innych bazach danych.

+0

Dzięki! Okej, chyba przesadziłem z moim problemem. Co jeśli kolumny są wynikiem złączenia, tj. WYBIERZ ... Z MÓJNEGO M DOŁĄCZ DO KOLEJNEGO A M.ID = A.ID? –

+0

Nieważne, właśnie znalazłem odpowiedź na to pytanie. To wybierz M. *, A. *, (sprawa ... Jeszcze raz dziękuję! –

5

Jak mówi IronGoofy, dodaj alias tabeli.

Na innej notatce mieć świadomość, że jest przydatny poszukiwanej przypadek składnia, która byłaby odpowiednia do danej sytuacji:

select t.*, 
     case PRI_VAL 
     when 1 then 'High' 
     when 2 then 'Med' 
     when 3 then 'Low' 
     end as PRIORITY 
from MYTABLE t; 
-2

Czy to tak:

select e.*, 
case deptno 
when 30 then 'High' 
when 20 then 'Medi' 
when 10 then 'Low' 
else 'Very Low' 
end case 
from emp e order by deptno desc; 
Powiązane problemy