En iyi yanıtlayıcılar
SQL Gelmeyen veride değer döndürme

Soru
-
Selamu Aleyküm
Arkadaşlar tablodan sadece tek bir hücre çeken bir SQL sorgum var.
SELECT Ad FROM Kisi WHERE ID = 10
Birincil anahtar değeri 10 olan bir kayıt yok ise Ad kolonunda sıfır hücre olacaktır. 'Eğer Ad kolonunda sıfır hücre var ise bir hücre ekle, değerini X yap' komutunu vermek istiyorum.
Şimdiden Teşekkürler.
- Düzenleyen Azad İrven 93 25 Temmuz 2014 Cuma 14:10
Yanıtlar
-
Ne fark eder ki? Sen ilkini al gec. Eklemek istersen alti ustu bir TOP 1. Fazla basit seyleri istiyorsun:)
SELECT TOP 1 * FROM ( Select < tekHucre > AS xx from tabloadi AS c where 1=2 -- sonuc dondurmeyene ornek union Select 0) t
- Yanıt Olarak İşaretleyen Azad İrven 93 25 Temmuz 2014 Cuma 15:34
-
Ne fark eder ki? Sen ilkini al gec. Eklemek istersen alti ustu bir TOP 1. Fazla basit seyleri istiyorsun:)
SELECT TOP 1 * FROM ( Select < tekHucre > AS xx from tabloadi AS c where 1=2 -- sonuc dondurmeyene ornek union Select 0) t
Doğru söylüyorsunuz :). Fakat sorgunuz (mantıken doğru ama) sadece 0 değerini döndürmektedir.
Sorguya ihtiyacı olan kimseler için:
SELECT TOP 1 * FROM (SELECT KOLONADI FROM TABLO WHERE KOLONADI = 100 UNION SELECT 0) t ORDER BY KOLONADI DESC
fakat bu sorgu azalan sırada değerleri sıralamaktadır. Bu geçici bir çözümdür. Soruma yanıt verebilecek kimseler vardır umarım :)
Şimdiden teşekkürler.
- Yanıt Olarak İşaretleyen Azad İrven 93 25 Temmuz 2014 Cuma 15:34
- Düzenleyen Azad İrven 93 25 Temmuz 2014 Cuma 17:50
-
Cevap verildi zaten.
Alternatif:WITH cte ( myField ) AS ( SELECT myField FROM tabloAdi WHERE 1=1) SELECT CASE WHEN EXISTS ( SELECT * FROM cte) THEN (SELECT TOP 1 * FROM cte) ELSE (SELECT 0) END
- Düzenleyen CetinBasoz 27 Temmuz 2014 Pazar 12:43
- Yanıt Olarak İşaretleyen Azad İrven 93 1 Ağustos 2014 Cuma 11:54
Tüm Yanıtlar
-
-
SELECT ISNULL(KOLONADI,0) FROM TABLENAME
-
Tek hucre dedigin sayisal mi? Oyleyse:
Select < tekHucre > from tabloAdi where 1=2 -- sonuc dondurmeyene ornek union Select 0
- Düzenleyen CetinBasoz 25 Temmuz 2014 Cuma 14:15
-
Tek hucre dedigin sayisal mi? Oyleyse:
Select < tekHucre > from tabloAdi where 1=2 -- sonuc dondurmeyene ornek union Select 0
- Düzenleyen Azad İrven 93 25 Temmuz 2014 Cuma 14:34
-
Ne fark eder ki? Sen ilkini al gec. Eklemek istersen alti ustu bir TOP 1. Fazla basit seyleri istiyorsun:)
SELECT TOP 1 * FROM ( Select < tekHucre > AS xx from tabloadi AS c where 1=2 -- sonuc dondurmeyene ornek union Select 0) t
- Yanıt Olarak İşaretleyen Azad İrven 93 25 Temmuz 2014 Cuma 15:34
-
Ne fark eder ki? Sen ilkini al gec. Eklemek istersen alti ustu bir TOP 1. Fazla basit seyleri istiyorsun:)
SELECT TOP 1 * FROM ( Select < tekHucre > AS xx from tabloadi AS c where 1=2 -- sonuc dondurmeyene ornek union Select 0) t
Doğru söylüyorsunuz :). Fakat sorgunuz (mantıken doğru ama) sadece 0 değerini döndürmektedir.
Sorguya ihtiyacı olan kimseler için:
SELECT TOP 1 * FROM (SELECT KOLONADI FROM TABLO WHERE KOLONADI = 100 UNION SELECT 0) t ORDER BY KOLONADI DESC
fakat bu sorgu azalan sırada değerleri sıralamaktadır. Bu geçici bir çözümdür. Soruma yanıt verebilecek kimseler vardır umarım :)
Şimdiden teşekkürler.
- Yanıt Olarak İşaretleyen Azad İrven 93 25 Temmuz 2014 Cuma 15:34
- Düzenleyen Azad İrven 93 25 Temmuz 2014 Cuma 17:50
-
Cevap verildi zaten.
Alternatif:WITH cte ( myField ) AS ( SELECT myField FROM tabloAdi WHERE 1=1) SELECT CASE WHEN EXISTS ( SELECT * FROM cte) THEN (SELECT TOP 1 * FROM cte) ELSE (SELECT 0) END
- Düzenleyen CetinBasoz 27 Temmuz 2014 Pazar 12:43
- Yanıt Olarak İşaretleyen Azad İrven 93 1 Ağustos 2014 Cuma 11:54