Sql hakında
name01.01.2004 - 23:28:03
Herkese iyi akşamlar

:c03b3a7fe0

Bu ifadede "fark" alanı negatif ise nasıl sıfır olmasını sağlarım. Biliyorsunuz, bu Delphi'de :c03b3a7fe0 ifadesiyle rahatlıkla yapılabilir.
 
Kuri_YJ02.01.2004 - 08:48:14
Selamlar,

Eğer yapmak istediğiniz şey MS-SQL Server'da ise, CASE WHEN ile halledebilirsiniz.

Örnek,

SELECT M9,
FARK = CASE
WHEN M1 > M2 THEN (SELECT M1-M2)
WHEN M2 >= M1 THEN (SELECT 0)
END
FROM KASA


Yukarıdaki syntax tam olmayabilir (şu anda MS-SQL Server'aerişemediğim için test edemedim ancak aynı yapıda daha önce çok kullandım.

Ancak istediğiniz IB/FB Server'da olacak ise bu iş için bir Stored Procedure Yazıp, FOR SELECT şeklinde döngü kurup, bu döngü içerisinde Result Set'i kendiniz kontrollu bir biçimde oluşturmanız gerekir.

Kolay Gelsin
 
fahrettin02.01.2004 - 09:56:08
Evet Kuri'nin de dedigi gibi select icinde case ya da if expression kullanılabilen veritabanalrinda bu cok kolay ama interbase ve firebird'de yok saniyorum eger paradoz kullanıyorsanız zaten hic yok. Ama her ikisi icin de su kod isinizi gorur saniyorum....
select m8,0 fark from kasa where (m1-m2)<=0
union
select m8,(m1-m2) fark from kasa where (m1-m2)>0


Fakat burada eger m1 veya m2 alanlari null deger iceriyorsa is null kontrolleri filan da koymak gerekecektir....
 
name02.01.2004 - 18:15:50
Teşekkür ederim
 
safak07.01.2004 - 17:50:55
select m8,(m1-m2) fark from kasa

SELECT M8, CASE WHEN (M1-M2 < 0 ) THEN 0 ELSE M1-M2 END FARK FROM KASA

Kolay Gelsin,
----------------
FB ver >= 1.5
 
name08.01.2004 - 11:34:33
safak bey bu sql ifadesini FireBird 1.0.3 de kullanabilirmiyim. Gerçi imzanızda "FB ver >=1.5" gibi bir şey yazılı ama Question
 
safak08.01.2004 - 22:48:46
1.5 daki yenilikler pdf dosyasından okumuştum.
1.5 da denedim çalışıyor.
Bende daha eski versiyonlar kurulu değil.

Kolay Gelsin,
 
name09.01.2004 - 02:15:25
En kısa sürede deneyeceğim.
Teşekkürler. İyi çalışmalar.
 
NOT : Bu sayfa google'un siteyi indekslemesi içindir. www.delphiturkiye.com/forum/ adresini kullanınız!
1998-2006 www.delphiturkiye.com