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
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
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.
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.
onuda yaptım bu seferde incorrect syntax the keyword 'GROUP' diye hata verdi.
İç 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