Arama butonu
Bu konudaki kullanıcılar: 1 misafir
7
Cevap
1059
Tıklama
0
Öne Çıkarma
sql de sum ile toplam almak
D
11 yıl
Çavuş
Konu Sahibi

arkadaşlar bir sql komutum var ama toplam alamıyorum. Özetle sql tablomda stokkodu ve miktar sütunları var miktar kısmı metreleri içeriyor. Ben bu sql koduyla tek tek ürünleri çektiriyorum (15mt üstü olanları ). fakat benim istediğim örneğin a stokkodu olan maldan 3 tane varsa metresini toplam alsın . Sql de çok uğraştım olmadı yardım lütfen...

bilgi : aşağıdaki kodda gördüğünüz gibi iki tablo birleştiriliyor ve miktar kısımları birbirinden çıkarılarak eksiltilen malların son kalan mt leri bulunarak tek tek döktürülüyor.Benim istediğimde tek tek değil toplam vermesi ki aynı stokkodlu ürün 2 kere çıkmasın .

Select
ST.STOKKODU,
ST.MIKTAR
From
***TBLSTKGIRHAREKET As ST Left Join
***TBLSTKCIKHAREKET As SH On SH.STOKKODU = ST.STOKKODU
Group By
ST.STOKKODU, ST.MIKTAR, ST.MALINCINSI, ST.BARKOD
Having
(IsNull(ST.MIKTAR, 0)) - (Sum(IsNull(SH.MIKTAR, 0))) > 15



F
11 yıl
Yarbay

Tablonuzu gorme imkanı varmı acaba bilmiyorum ama aynı sorgu üzerinden tekrar gruplama yaparsanız istediginizin olması lazım

WITH Toplam
(ST.STOKKODU,ST.MIKTAR )
AS
(
Select
ST.STOKKODU,
ST.MIKTAR
From
***TBLSTKGIRHAREKET As ST Left Join
***TBLSTKCIKHAREKET As SH On SH.STOKKODU = ST.STOKKODU
Group By
ST.STOKKODU, ST.MIKTAR, ST.MALINCINSI, ST.BARKOD
Having
(IsNull(ST.MIKTAR, 0)) - (Sum(IsNull(SH.MIKTAR, 0))) > 15
)
SELECT ST.STOKKODU,SUM(ST.MIKTAR) FROM TOPLAM
GROUP BY ST.STOKKODU


Bu mesaja 1 cevap geldi.
D
11 yıl
Çavuş
Konu Sahibi

incorrect syntax near '.'.

bu hatayı verdi .

ben bir sql oluşturucu program içerisinde yapıyorum ama sanırım WITH komutunu tanımıyor.


Bu mesaja 1 cevap geldi.
F
11 yıl
Yarbay

Dada derli toplu olsun diye boyle yaptım :) istersen ikinci sorgudaki From dan sonraki Toplam yerine parantez icinde yukardaki sorgunu yaz o şekilde dene birde.


Bu mesaja 1 cevap geldi.
D
11 yıl
Çavuş
Konu Sahibi

onuda yaptım bu seferde incorrect syntax the keyword 'GROUP' diye hata verdi.


Bu mesaja 1 cevap geldi.
F
11 yıl
Yarbay

İç içe selecte kabul etmiyorsa zor iş, aslında gecici tabloya aktarıp ordan yap dicem ama senin program sanırım bunuda almıyacak...
SELECT ST.STOKKODU,SUM(ST.MIKTAR) FROM
(
Select
ST.STOKKODU,
ST.MIKTAR
From
***TBLSTKGIRHAREKET As ST Left Join
***TBLSTKCIKHAREKET As SH On SH.STOKKODU = ST.STOKKODU
Group By
ST.STOKKODU, ST.MIKTAR, ST.MALINCINSI, ST.BARKOD
Having
(IsNull(ST.MIKTAR, 0)) - (Sum(IsNull(SH.MIKTAR, 0))) > 15
) AS ALTSORGU
GROUP BY ST.STOKKODU

Boyle dene birde.


Bu mesaja 1 cevap geldi.
D
11 yıl
Çavuş
Konu Sahibi

tamamdır oldu teşekkürler yardım için.


Bu mesaja 1 cevap geldi.
F
11 yıl
Yarbay

Kolay gelsin.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.