select case count(0) when 0 then 'YOK' else CODE end as CODE from tablo1 where CODE ='a' union select case count(0) when 0 then 'YOK' else CODE end as CODE from tablo1 where CODE ='b' union select case count(0) when 0 then 'YOK' else CODE end as CODE from tablo1 where CODE ='c'....
Union kullanarak direk satirlar halinde alirsin ama tek bir sql de where kosuluna in diyerek hicbir sekilde alamazsin cunku sql sana sadece bulunan kayitlari doner bunlarda bulunamayan kayitlar diye ekstra bilgi donmez! Veya ic ice select kullanarak satir degilde kolonlar halinde alabilirsin! Bir diger secenekse tahminim right outher join de kullanilabilir. 10 Ara 2012 23:18 tarihinde "Coskun" <[email protected]> yazdı: > Arkadaşlar merhaba, > > Çok kolay bir soru olabilir, ama nasıl yapacağım şu anda aklıma gelmedi. > Yardımcı olabilir misiniz, teşekkürler. > > SQL'in condition kısmında yazdığımız değerler eğer tabloda bulunmuyorsa, > bunların karşısında 'YOK' yazacak şekilde sonuç döndürmesini istiyorum. > Bunu nasıl yaparım, yardımcı olabilir misiniz? > > > Örnekle açıklayacak olursak, Tablo1 şöyle olsun: > > *code* *amoun*t > b 5 > c 10 > e 12 > > Örnek sorgu şöyle birşey: > select * from tablo1 where CODE IN ('a', 'b', 'c', 'd', 'e') > > Sonucun aşağıdaki gibi çıkmasını istiyorum: > > a YOK > b 5 > c 10 > d YOK > e 12 > > _______________________________________________ > Linux-programlama mailing list > [email protected] > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > >
_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
