Çözüldü SQL'de filtreleme için değer olmayınca default değer atama

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

BeecoV

Kilopat
Katılım
18 Mayıs 2015
Mesajlar
186
Çözümler
2
Merhabalar,

SQL:
SELECT *
FROM movies
WHERE (movieid = 123 OR movideid = 0)

Bu SQL query'sinde yapmak istediğim şu, movieid isimli kolondan 123 numaralı kaydı çekmek istiyorum. Bu 123 numarası benim Java DTO'mdan gelecek. Eğer ki bu değer boş gelir ise bu filtreyi disable yapıp bütün verileri çekmesini istiyorum. SELECT * FROM movies şeklinde. OR kısmı hatalı oluyor şu an. Bu isteğimi nasıl yapabilirim? İstediğim id yok veya null ise WHERE filtresini nasıl disable edebilirim?

DB2 veya ORACLE SQL için yardım edebilirseniz sevinirim.
 
Çözüm
Oracle kullaniyorsan, prosedur kullandigini tahmin ederek soyle bir tavsiyede bulunabilirim
SQL:
...
WHERE(parametre IS NULL OR movieid = parametre)

Hocam sorunu çözdüm, burayı güncellemeyi unuttum.

SQL:
SELECT *
FROM movies
WHERE movieid = (CASE WHEN :parameter != 0 THEN :parameter ELSE movieid END))
Oracle kullaniyorsan, prosedur kullandigini tahmin ederek soyle bir tavsiyede bulunabilirim
SQL:
...
WHERE(parametre IS NULL OR movieid = parametre)
 
Oracle kullaniyorsan, prosedur kullandigini tahmin ederek soyle bir tavsiyede bulunabilirim
SQL:
...
WHERE(parametre IS NULL OR movieid = parametre)

Hocam sorunu çözdüm, burayı güncellemeyi unuttum.

SQL:
SELECT *
FROM movies
WHERE movieid = (CASE WHEN :parameter != 0 THEN :parameter ELSE movieid END))
 
Çözüm

Yeni konular

Geri
Yukarı