Forum

Where şartında ...
 
Bildirimler
Hepsini Temizle

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

2 Yazılar
2 Üyeler
0 Reactions
882 Görüntüleme
(@omurbilgili)
Gönderiler: 1
New Member
Konu başlatıcı
 

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?

 
Gönderildi : 22/12/2011 14:15

(@yselimakbulut)
Gönderiler: 23
Eminent Member
 

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. 

 

 
Gönderildi : 23/12/2011 20:37

Paylaş: