Data jumlah barang masuk/keluar akan tercatat pada masing-masing tabel yg bersangkutan , kemudian data akan diproses oleh sistem untuk diakumulasikan pada tabel data 'barang/stok'.
Ketika data baru tercatat maka kolom 'proses' akan diset dengan nilai 0 , kemudian sistem akan merubah semua data yg bernilai 0 menjadi 1 untuk menandakan data tersebut akan diproses/diakumulasikan ke tabel stok, setelah proses akumulasi selesai maka kolom proses akan diset nilainya menjadi 2 sebagai tanda data telah diproses.
nb:
pada tabel barang masuk/keluar terdapat kolom 'proses' berfungsi untuk memberikan status data sbb:
0=data baru masuk
1=data akan diproses akumulasi
2=data sudah terakumulasi ke tabel stok
Sintax MySQL :
Nama Tabel Barang : t_stok
Nama Tabel Masuk : t_barang_masuk
jumlah barang pada tabel 't_barang_masuk' akan ditotal(SUM) berdasarkan 'kode_barang', kemudian hasilnya diakumulasikan ke tabel 't_stok'
Sintax 1 :
UPDATE t_barang_masuk SET proses=1 WHERE proses=0
Sintax 2 :
UPDATE t_stok AS st
INNER JOIN
SELECT kode_barang,proses,SUM(jumlah) AS jumlah_masuk FROM t_barang_masuk AS bm
WHERE bm.proses=1 GROUP BY bm.kode_barang ) AS ij
ON st.kode_barang=ij.kode_barang
SET st.jumlah=(st.jumlah+ij.jumlah_masuk)
WHERE ij.proses=1
Sintax 3 :
UPDATE t_barang_masuk SET proses=2 WHERE proses=1
