26 Mart 2010 Cuma

Database Hierarchical Select

SELECT PROGRAM_ID,AD || DECODE(TUR,2,' (Yan Dal)',3,' (Çift Anadal)','') || DECODE(EGITIM_TURU,2,' (İkinci Öğr.)',3,' (Ekstern)','') FROM PROGRAM WHERE FAAL=1 AND BIRIM IN " +
"(select BIRIM_ID from BIRIM WHERE FAAL=1 start with BIRIM_ID=356" +
" connect by prior BIRIM_ID = UST_BIRIM_ID) order by AD


Üstteki sorgu ne yapıyor?_

Program tablosundaki birim alanını, birim tablosunun birim_id kolonundan seçiyor, seçerken başlangıçta bi birim_id olarak 356 yi alıyor ondan sonra birim tablosuında ust_birim_id si 356 olan satırların birim_id lerini alıyor.

Hiç yorum yok:

Yorum Gönder