| name | 01.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_YJ | 02.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 | |
| fahrettin | 02.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.... | |
| name | 02.01.2004 - 18:15:50 |
| Teşekkür ederim | |
| safak | 07.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 | |
| name | 08.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 | |
| safak | 08.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, | |
| name | 09.01.2004 - 02:15:25 |
| En kısa sürede deneyeceğim.
Teşekkürler. İyi çalışmalar. | |