SQL ile çalışırken UNION ifadesi karşınıza çıkmıştır. Çok sık kullanılmasada bazı durumlarda kullanmaya zorlanabilirsiniz.
Şöyle bir örneği düşünelim(karşılaştığım bir durum); bir parametreler tablonuz (tblParametre) var. Bu tablodaki sahalar şu şekilde:
[prmKod, prmAd, grupKod, aktif]
Uygulamanızın kullandığı temel verileri ise "tblBilgi" isimli bir tabloda tutuyoruz. Ancak tblBilgi tablosu şu an aktif olmayan parametreleri de barındırıyor.
Bizden istenen belli bir gruba ait, aktif olan parametreler ile birlikte; "tblParametre" tablosunda şu an aktif olmasada, "tblBilgi" tablosunda daha önce kullanılmış olup halen geçerli olan kayıtlardaki parametrelerin tek sorgu ile getirilmesi. Bu durumda şunu yazabiliriz:
SELECT prmAd FROM tblParametre p WHERE p.grupKod='prmGrup1' AND P.aktif='E'
UNION
SELECT prmAd FROM tblParametre p WHERE p.grupKod='prmGrup1' AND
p.prmKod IN (SELECT DISTINCT(b.prmKod) FROM tblBilgi b WHERE b.gecerli = 'E')
Hiç yorum yok:
Yorum Gönder