![]() |
| ![]() |
|
DUYURU SİSTEMİ / REKLAM PANOSU |
SQL Yapısal sorgulama dili hakkında sorularınızı buraya sorabilirsiniz. |
![]() |
|
Paylaş | Konu Araçları | Görünüm Modları |
![]() |
#1 |
Giriş: 05/04/2015
Şehir: Tr
Mesaj: 16
Excel Vers. ve Dili:
2007 |
![]() create table table1 (HSPKOD varchar(30), Borc float(30), Alacak float(30))
INSERT INTO table1 (HSPKOD, BORC, ALACAK) values (600.10,Null,6500), (391.10,Null,1000), (100.10,7500,Null), (600.10,Null,6500), (391.10,Null,1000), (120.10,7500,Null), (600.10,Null,6700), (391.10,Null,1200), (100.10,7900,Null); SELECT HSPKOD, SUM (isnull(Borc,0)) - sum (isnull(Alacak,0)) As Bakiye FROM table1 where HSPKOD like '100%' or HSPKOD like '600%' or HSPKOD like '120%' GROUP BY HSPKOD Şuan sonuç şöyle geliyor. HSPKOD Bakiye 100.10 15400 120.10 7500 600.10 -19700 İSTEKLERİM 1.isteğim, üsteki sonucun yanına birde "Kümülatif Bakiye" sütunu olacak. HSPKOD Bakiye Kümülatif Bakiye 100.10 15400 3200 120.10 7500 3200 600.10 -19700 3200 2.isteğim, kümülatif bakiye şartta bağlamak . Örneğin Kümülatif bakiye <5000 ise "Şarta uygun değildir." desin. Sanırım onuda yeni bir sütuna yazdıracağız. HSPKOD Bakiye Kümülatif_Bakiye Sonuç 100.10 15400 3200 Şarta Uygun Değildir. 120.10 7500 3200 Şarta Uygun Değildir. 600.10 -19700 3200 Şarta Uygun Değildir. Şimdiden teşekkür ederim. |
![]() |
![]() |
![]() |
#2 |
Giriş: 05/04/2015
Şehir: Tr
Mesaj: 16
Excel Vers. ve Dili:
2007 |
![]() Sonuca ulaştım...
![]() Benim gibi yeniler için aşamalarımı yazayım: 1.Aşama --HSPKOD ve Bakiye listeledim. SELECT HSPKOD, SUM (isnull(Borc,0)) - sum (isnull(Alacak,0)) As Bakiye FROM table1 where HSPKOD like '100%' or HSPKOD like '600%' or HSPKOD like '120%' GROUP BY HSPKOD 2. Aşama kumulatifi ekledim -- HSPKOD, BAKIYE, Kumulatif SELECT Hspkod, SUM(ISNULL(Borc, 0)) - SUM(ISNULL(Alacak, 0)) AS Bakiye, (SELECT sum(bakiye) FROM (SELECT Hspkod, SUM(ISNULL(Borc, 0)) - SUM(ISNULL(Alacak, 0)) AS Bakiye FROM table1 WHERE Hspkod LIKE '100%' OR Hspkod LIKE '600%' OR Hspkod LIKE '120%' GROUP BY Hspkod)AS table2) AS Kumulatif FROM table1 WHERE Hspkod LIKE '100%' OR Hspkod LIKE '600%' OR Hspkod LIKE '120%' GROUP BY Hspkod 3. Aşama --Şartımız lazım olan tutarı (3200) buldum select sum(bakiye) from ( SELECT HSPKOD, SUM(ISNULL(Borc, 0)) - SUM(ISNULL(Alacak, 0)) AS Bakiye FROM table1 WHERE HSPKOD LIKE '100%' OR HSPKOD LIKE '600%' OR HSPKOD LIKE '120%' GROUP BY HSPKOD)as table2 4.Aşama -- HSPKOD, BAKIYE, Kumulatif yanına şartı ekledim SELECT Hspkod, SUM(ISNULL(Borc, 0)) - SUM(ISNULL(Alacak, 0)) AS Bakiye, (SELECT sum(bakiye) FROM (SELECT Hspkod, SUM(ISNULL(Borc, 0)) - SUM(ISNULL(Alacak, 0)) AS Bakiye FROM table1 WHERE Hspkod LIKE '100%' OR Hspkod LIKE '600%' OR Hspkod LIKE '120%' GROUP BY Hspkod)AS table2) AS Kumulatif, CASE WHEN (select sum(bakiye) from ( SELECT HSPKOD, SUM(ISNULL(Borc, 0)) - SUM(ISNULL(Alacak, 0)) AS Bakiye FROM table1 WHERE HSPKOD LIKE '100%' OR HSPKOD LIKE '600%' OR HSPKOD LIKE '120%' GROUP BY HSPKOD)as table2)<5000 Then 'Şarta Uygun Değildir.' ELSE 'Şarta Uygundur.' END AS Uygunmu From table1 WHERE Hspkod LIKE '100%' OR Hspkod LIKE '600%' OR Hspkod LIKE '120%' GROUP BY Hspkod |
![]() |
![]() |