SQL ile Dans 1

Aşağıdaki şekilde bir datamız olduğunu düşünelim.

NO          CNT

15:3         5

20            10

Bu veriyi aşağıdaki şekle nasıl getirebiliriz ?

NO          CNT

15             5

3               5

20            10

İlk bakışta zor gibi görünüyor ancak, SQL’i biraz konuşturarak bu gayet mümkün.

ERSIN@XE> with t as
  2  (select ‘15:3′ no,5 cnt from dual union all
  3  select ‘20′,10 from dual)
  4  select distinct substr (s, instr(s,’:',1,l) + 1 , instr(s,’:',1,l+1) – instr(s,’:',1,l) – 1 ) n
o,cnt
  5  from (select cnt,’:’ || no || ‘:’ s, level l from t connect by level <= length(no) – length(rep
lace(no,’:')) + 1)
  6  order by cnt;

NO                              CNT
———————— ———-
15                                5
3                                 5
20                               10

 Kaynak : http://forums.oracle.com/forums/thread.jspa?forumID=75&threadID=507398

Yayınlandı:  on 15 Mayıs 2007 at 10:51 am Yorum Yapın