PIVOT SQL 2000

Forum diskusi membahas semua mengenai SQL Server

Moderator: trail

PIVOT SQL 2000

Postby noeldejavu » 26 Oct 2011, 23:56

Dear all,

Mohon bantuan untuk membuat pivot di sql 2000 dari beberapa tabel sbb :

tblbarang
code_barang nama_barang harga_satuan
B001 Buku 1000
B002 Pinsil 1200

tblHistoryTransaksi
code_barang tgl_transaksi qty_transaksi status_stransaksi
B001 2011-08-30 30 in
B001 2011-09-02 15 out
B001 2011-10-01 5 out
B002 2011-09-30 20 in
B002 2011-10-10 10 out
B002 2011-10-11 3 in


Maunya ditampilkan sbb :
Code Barang Nama Barang harga beginning in out Ending Amount
B001 Buku 1000 15 0 5 10 10.000
B002 PINSIL 1200 20 3 10 13 15.600


Begining : Jumlah stok sebelum bulan berjalan (sebelum bln 10) dengan kalkulasi status_stock = in-out
in : jumlah barang masuk pada bulan berjalan (bln 10) dengan status_stock = in
out : jumlah barang keluar pada bulan berjalan (bln 10) dengan status_stock = out
Ending : Jumlah Stock barang "begining+in-out"
Amount : Ending * harga

Kira-kira bagaimana yach cara buatnya, databasenya menggunakan SQL Server 2000.
Terima kasih atas pencerahannya.

Regards,
Noel de Javu
noeldejavu
Prajurit Satu
Prajurit Satu
 
Posts: 74
Joined: 26 Oct 2011, 23:35
Memberi kopi: 3 cangkir
Mendapat kopi: 1 cangkir

Re: PIVOT SQL 2000

Postby trail » 27 Oct 2011, 08:17

Code: Select all
SELECT Nama_Barang, Harga_Barang, Begining_Balance,
(SELECT A.qty_transaksi FROM tblHistoryTransaksi WHERE Kode_Barang = Brg.Kode_Barang AND Status = 'Out') AS Out,
(SELECT A.qty_transaksi FROM tblHistoryTransaksi WHERE Kode_Barang = Brg.Kode_Barang AND Status = 'In') AS In,
.....
FROM tblbarang Brg
....
WHERE ...
ORDER BY ...
@_@....@_@....@_@
User avatar
trail
Database Moderator
Database Moderator
 
Posts: 1348
Joined: 11 Mar 2010, 14:27
Location: Surabaya
Memberi kopi: 47 cangkir
Mendapat kopi: 103 cangkir

Re: PIVOT SQL 2000

Postby noeldejavu » 27 Oct 2011, 11:25

trail wrote:
Code: Select all
SELECT Nama_Barang, Harga_Barang, Begining_Balance,
(SELECT A.qty_transaksi FROM tblHistoryTransaksi WHERE Kode_Barang = Brg.Kode_Barang AND Status = 'Out') AS Out,
(SELECT A.qty_transaksi FROM tblHistoryTransaksi WHERE Kode_Barang = Brg.Kode_Barang AND Status = 'In') AS In,
.....
FROM tblbarang Brg
....
WHERE ...
ORDER BY ...


Terima kasih bos atas replaynya, tapi bukan itu yang saya inginkan.
Yang saya inginkan adalah :
Asumsikan bulan berjalan adalah Oktober 2011
Saya ingin menampilkan :
- beginning_balance merupakan penjulahan dari (IN - OUT) transaksi sebelum bulan Oktober 2011
- IN = Jumlah barang dengan status IN selama bulan Oktober 2011
- OUT = Jumlah barang dengan status OUT selama bulan Oktober 2011
- Ending = Penjumlahan Beginning_balance + Qty IN - Qty Out

mumet dah ane... lum kelar-kelar neh...
Mohon bantuannya para master... terima kasih
noeldejavu
Prajurit Satu
Prajurit Satu
 
Posts: 74
Joined: 26 Oct 2011, 23:35
Memberi kopi: 3 cangkir
Mendapat kopi: 1 cangkir

Re: PIVOT SQL 2000

Postby trail » 27 Oct 2011, 20:08

noeldejavu wrote:beginning_balance merupakan penjulahan dari (IN - OUT) transaksi sebelum bulan Oktober 2011

kalau ini harus itung2an lagi om
Code: Select all
select
   sum(case
      when status = 'in' then qty_transaksi
      when status = 'out' then qty_transaksi * -1
   end)
from ....
Where
..........


noeldejavu wrote:- IN = Jumlah barang dengan status IN selama bulan Oktober 2011
- OUT = Jumlah barang dengan status OUT selama bulan Oktober 2011


kalau ini bisa dimodif menjadi :
Code: Select all
(SELECT A.qty_transaksi FROM tblHistoryTransaksi WHERE Kode_Barang = Brg.Kode_Barang AND Status = 'In' AND Month(Tanggal) = xx And ....) AS In,
@_@....@_@....@_@
User avatar
trail
Database Moderator
Database Moderator
 
Posts: 1348
Joined: 11 Mar 2010, 14:27
Location: Surabaya
Memberi kopi: 47 cangkir
Mendapat kopi: 103 cangkir


Return to SQL Server

Who is online

Users browsing this forum: No registered users and 1 guest