Penjumlahan Otomatis Di Sql Server 2008
Pernah mengalami kebingunan untuk menjumlahkan data menurun secara otomatis ?. Contoh Seperti Tabel Berikut :
Dengan contoh diatas, saya ingin mendapatkan nilai penjumalahan baru dengan nama kolom total. Yang isinya adalah hasil dari penjumalahan dari kolom value, tetapi dengan rumus = total id 1 adalah value 1,
total id 2 adalah [total id 1 + value id 2],
total id 3 adalah [total id 2 + value id 3],
total id 4 adalah [total id 3 + value id 4],
begitu seterusnya sampai total id ke 14 adalah [total id 13 + value id 14].
Saat disuruh membuat laporan dari sebuah program yang mengharuskan menggunakan penjumlahan otomatis secara menurun untuk laporan stock barang. Saya mencoba bertanya ke pada IT senior ditempat saya, mereka hanya menyarankan untuk menggunakan looping. Saat saya mencoba dengan looping, malah mengalami tambah kesulitan. Mungkin memang script saya yang kurang tepat, sehingga saat proses looping berjalan. Proses tersebut malah tidak berhenti.
Kemudian saya coba googling kesana kemari, tidak ada rumus yang seperti saya inginkan. Setelah sekian lama googling, akhirnya dapat juga dari blog tetangga. Tetapi saya lupa mencatat nama blog tersebut, karena di kejar dead line laporan. he he he
Dengan script diatas, saya mendapatkan hasil seperti yang saya inginkan. Berikut gambah hasil tabelnya :
Yang perlu anda ingat, supaya hasil penjumlahannya benar, maka id harus dipastikan sama antara @Table x dan
Semoga tutorial singkat ini, dapat membantu ada untuk membuat laporan stock ataupun yang laen. he . . . .he . . . he . .
indonesiamumet.blogspot.com
GA JELAS LU,,,
ReplyDeleteMAKSUD DARI
[solitairecbg].[dbo].[runtotaltestdata]
DARI MANA ASALNYA,,,
MNDING GA USAH POST LU TAE
SolitaireCBG itu nama database,
Deletedbo itu tipe database yang ada di sql server,
runtotaltestdata itu nama tabel.
nama tabel terserah yang penting isinya angka-angka yang ada di contoh.
script tersebut bisa dipersingkat dengan select * from runtotaltestdata.
sorry kalau kurang lengkap.
makasih om tutornya... sangat membantu
ReplyDeletehttp://www.newspoint.id
sama-sama gan, senang bisa berbagi ilmu.
Deletegan kalau nyari saldo dari field Debet,Kredit gmn?
ReplyDeletemisal
D | K | S
__________
2 | 0 | 2
1 | 0 | 3
0 | 1 | 2
Mungkin bisa menggunakan rumus berikut ini :
Deletecreate table Test (Transaksi varchar(10),D int, K int)
insert into test values ('A',2,0),('B',1,0),('C',0,1)
go
drop table test
declare @TempTable Table (Nomer int, Transaksi varchar(10), D int, K int, S int)
insert @TempTable
select ROW_NUMBER () over (order by transaksi) as Nomer, Transaksi,
SUM(D) as D, SUM(K) as K,SUM(D-K) as S
from test
group by Transaksi
select b.Transaksi, D, K, (select SUM(S) from @TempTable a where a.Nomer<=b.Nomer) as S
from @TempTable b
Semoga bisa menjawab.
wah ciamik.. bisa gan... makasih mas tutornya, sangat membantu :)
ReplyDeletesama-sama gan, senang bisa membantu dan berbagi ilmu.
Deletegan mau tanya.. jika di sql server 2008
ReplyDeletedengan database stok
trus nama tabel 1 nya dbo.barang dengan field jumlah_stok
trus nama tabel 2 nya dbo.beli dengan field jumlah_order
gimana cara nambahkan nya gan??
nanti hasilnya jumlah_stok nya bertambah dari jumlah_order nya gan...?
Maaf sebelumnya, saya masih belum begitu paham dengan maksud pertanyaannya. Saya akan mencoba membantu sesuai bahasa pemahaman saya.
DeleteKalau tabel barang hanya untuk jumlah stok. Mungkin bisa dibuat, seperti ini. Saya anggap, prosesnya dilakukan di form pembelian.
untuk script updatenya seperti berikut.
update dbo.barang set jumlah_stok = jumlah_stok + jumlah order where kode_barang = kode_barang
Semoga bisa menjawab.
GAN LU TERDEBEST POKOKNYA
ReplyDeleteSUKSES SELALU BUAT ENTE DAN KELUARA
terima kasih
Deletesenang bisa berbagi