Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
6
Cevap
1778
Tıklama
0
Öne Çıkarma
SQL Kümülatif Toplam
V
13 yıl
Yüzbaşı
Konu Sahibi

select STOK_KODU,STHAR_GCMIK,STHAR_GCKOD, case when STHAR_GCKOD='C' then 0-STHAR_GCMIK else 0 end as ÇIKIŞ, case when STHAR_GCKOD='G' then STHAR_GCMIK else 0 end as GİRİŞ from TBLSTHAR where stok_kodu like '152%' order by STHAR_TARIH


< Resime gitmek için tıklayın >

Ekran görüntüsündeki gibi bir toplama işlemi yaptırmak istiyorum. Sanırım bunun için stored procedure kullanmam gerekiyor. Çok uğraştım fakat ortaya birşey çıkaramadım henüz. Yardımlarınızı bekliyorum acilen.





< Bu mesaj bu kişi tarafından değiştirildi vüvüzela -- 8 Ekim 2012; 10:01:06 >

V
13 yıl
Yüzbaşı
Konu Sahibi

H
13 yıl
Onbaşı

Kümalatif Bir toplama yapman gerekiyor. Bunun için 2 seçenek önerebilirim
1)http://turgaysahtiyan.com/post/SQL-Server-e28093-Sorguda-Kumulatif-Toplam-Kolonu.aspx Burdaki makaleyi inceleyebilirsin

Diğer seçenek konusunda emin değilim ancak uğraştırıcak bir yöntem. Yukarıdaki yöntemi dene işini görmezse haber et en azından fikir olarak diğer yöntemi anlatırım.
Ayrıca Procedure yazıcaksın diye bir kaide yok normal bir query yapıcaksın





< Bu mesaj bu kişi tarafından değiştirildi HDelipoyraz -- 7 Ekim 2012; 19:26:38 >
Bu mesaja 2 cevap geldi.
K
13 yıl
Yarbay

sqlde bazı platformlar desteklese de türkçe karakter kullanmayın. çünkü bu gun çalışır yarın başka bir platforma taşıdıgınızda türkçe desteği bulamayıp oturup bir projenin tüm prosedürlerini baştan yazmanız veya düzenlemeniz gerekebilir. türkçe karakter kullanmamanın yegane yolu türkçe değişken kullanmamaktır. yazılım vs işlerine girdiğinizde unutmanız gereken tek şey türkçedir. unutun.


Bu mesaja 1 cevap geldi.
V
13 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: HDelipoyraz

Kümalatif Bir toplama yapman gerekiyor. Bunun için 2 seçenek önerebilirim
1)http://turgaysahtiyan.com/post/SQL-Server-e28093-Sorguda-Kumulatif-Toplam-Kolonu.aspx Burdaki makaleyi inceleyebilirsin

Diğer seçenek konusunda emin değilim ancak uğraştırıcak bir yöntem. Yukarıdaki yöntemi dene işini görmezse haber et en azından fikir olarak diğer yöntemi anlatırım.
Ayrıca Procedure yazıcaksın diye bir kaide yok normal bir query yapıcaksın

Teşekkürler makaleyi inceledim fakat örneklerin çoğunda anlamadığım nokta 2 tablo kullanılmış olması(ya da ben öyle zannediyorum). Benim tek bir tablom var.

sales.SalesOrderHeader oh bu satırda oh dediğimiz ne kafam çok karışık belki saçma sorular soruyorum ama ufak detaylar kafamı karıştırıyor.

 
WITH tblCTE
AS
(
select SalesOrderID,OrderDate,TotalDue
,ROW_NUMBER() OVER (ORDER BY SalesOrderID) AS RowNumber
from sales.SalesOrderHeader oh
where CustomerID=676
)
SELECT SalesOrderID,OrderDate,TotalDue
,(Select SUM(t2.TotalDue) as SumX
from tblCTE t2
where t2.RowNumber<=t1.RowNumber
) as CumTotalDue
FROM tblCTE t1



V
13 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: Kaygerya

sqlde bazı platformlar desteklese de türkçe karakter kullanmayın. çünkü bu gun çalışır yarın başka bir platforma taşıdıgınızda türkçe desteği bulamayıp oturup bir projenin tüm prosedürlerini baştan yazmanız veya düzenlemeniz gerekebilir. türkçe karakter kullanmamanın yegane yolu türkçe değişken kullanmamaktır. yazılım vs işlerine girdiğinizde unutmanız gereken tek şey türkçedir. unutun.

Tavsiyeniz için teşekkür ederim bundan sonra daha dikkatli olacağım bu konuda.


Bu mesaja 1 cevap geldi.
H
13 yıl
Onbaşı

O zaman şöyle sorayım her Ürünün bir ID'si var ve bunların +1 olarak arttığını varsayıyorum.
Her satırdaki Stok miktarını bir değişkene aktar(StokMiktari değişkenine) daha sonra Toplam diye bir değişken oluştur ve buna 0 değerini ata.
Şimdi yapacağın işlem kabaca
@Stokmiktari=Stokmiktari
@Toplam= @Toplam+@Stokmiktari
@Toplam değerinide her satıra yazdırman lazım.
Daha kolay bir yolu olacağını düşünüyorum ancak ihtiyacım olmamıştı daha önce şuan sadece fikir yürüterek konuşuyorum.



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.