Anasayfa » Forum

Where şartında ...
 

Where şartında çoklu değer karşılaştırma  

  RSS
omurbilgili
(@omurbilgili)
Üye

Arkadaşlar şu şekilde bir tablom var diyelim:

ID GRUP KOD
1 10 R1
2 10 R2
3 10 R3
4 10 R4
5 11 R5
6 11 R6

Öyle bir SELECT sorgusu yazmak istiyorum ki örneğin WHERE kısmında KOD=(R1,R2,R3) yazınca bana GRUP olarak 10 değeri dönmeli fakat KOD=(R1,R8,R3) yazdığımda bana NULL dönmeli çünkü R8 in tabloda GRUP karşılığı bulunmuyor. Ben şu şekilde yazmaya çalıştım:

 

SELECT GRUP FROM TBL_KODLAR WHERE KOD IN('R1','R2','R3') GROUP BY GRUP bu sorguda istediğim gibi 10 değeri dönüyor fakat bu sorguda da

SELECT GRUP FROM TBL_KODLAR WHERE KOD IN('R1','R8','R3') GROUP BY GRUP bana 10 dönüyor ama tabloda R8 yok, bu mantığın yanlış olduğunu biliyorum. Sonuçta IN kayıtları OR işlemine göre filtreliyor. Bu duruma nasıl çözüm bulabilirim?

Alıntı
Gönderildi : 22/12/2011 13:15
yselimakbulut
(@yselimakbulut)
Üye

Select  cümlesi yazarken Case kullanarak bunu bir kerede yapabilirsin.

 

Select

 case

when Kod in ((R1,R8,R3))  then 10

when  KOD IN('R1','R2','R3') then  'null' end 

 

from XYZ

 

gibi birşey kullanmalısın. Internetten yardım alabilirsin. 

 

CevapAlıntı
Gönderildi : 23/12/2011 19:37
Paylaş:

Lütfen Giriş yap yada Kayıt ol