You are on page 1of 2

SELECT ib.ID,ib.NAMA,s.

NAMA AS SATUAN,
#stok awal
IFNULL((
SELECT ts.STOK
FROM transaksi_stok_ruangan ts
LEFT JOIN barang_ruangan bn ON bn.ID=ts.BARANG_RUANGAN
LEFT JOIN barang br ON br.ID=bn.BARANG
WHERE br.ID=ib.ID AND MONTH(ts.TANGGAL)=5
ORDER BY ts.TANGGAL DESC
LIMIT 1
),0) AS JMLAWAL,
IFNULL((
SELECT HARGA_BELI FROM inventory.harga_barang WHERE MASA_BERLAKU <= '2021-07-
01'
AND inventory.harga_barang.BARANG=ib.ID ORDER BY MASA_BERLAKU DESC LIMIT 1
),0) AS HS_AWAL,
IFNULL((
SELECT ROUND(JMLAWAL*HS_AWAL,2)
),0) AS HT_AWAL,

#barang masuk
IFNULL((
SELECT SUM(ts.JUMLAH)
FROM transaksi_stok_ruangan ts
LEFT JOIN barang_ruangan bn ON bn.ID=ts.BARANG_RUANGAN
LEFT JOIN barang br ON br.ID=bn.BARANG
WHERE br.ID=ib.ID AND MONTH(ts.TANGGAL)=6
AND ts.JENIS IN (20,21,31,32,34,35)
),0) AS JMLMASUK,
IFNULL((
SELECT HARGA_BELI FROM inventory.harga_barang WHERE MASA_BERLAKU <= '2021-07-
01'
AND inventory.harga_barang.BARANG=ib.ID ORDER BY MASA_BERLAKU DESC LIMIT 1
),0) AS HS_MASUK,
IFNULL((
SELECT ROUND(JMLMASUK*HS_MASUK,2)
),0) AS HT_MASUK,

#barang keluar
IFNULL((
SELECT SUM(ts.JUMLAH)
FROM transaksi_stok_ruangan ts
LEFT JOIN barang_ruangan bn ON bn.ID=ts.BARANG_RUANGAN
LEFT JOIN barang br ON br.ID=bn.BARANG
WHERE br.ID=ib.ID AND MONTH(ts.TANGGAL)=6
AND ts.JENIS IN (22,23,24,30,33)
),0) AS JMLKELUAR,
IFNULL((
SELECT HARGA_BELI FROM inventory.harga_barang WHERE MASA_BERLAKU <= '2021-07-
01'
AND inventory.harga_barang.BARANG=ib.ID ORDER BY MASA_BERLAKU DESC LIMIT 1
),0) AS HS_KELUAR,
IFNULL((
SELECT ROUND(JMLKELUAR*HS_KELUAR,2)
),0) AS HT_KELUAR,

#barang akhir
IFNULL((
SELECT ROUND(JMLAWAL+JMLMASUK-JMLKELUAR,2)
),0) AS JMLAKHIR,
IFNULL((
SELECT HARGA_BELI FROM inventory.harga_barang WHERE MASA_BERLAKU <= '2021-07-
01'
AND inventory.harga_barang.BARANG=ib.ID ORDER BY MASA_BERLAKU DESC LIMIT 1
),0) AS HS_AKHIR,
IFNULL((
SELECT ROUND(JMLAKHIR*HS_AKHIR,2)
),0) AS HT_AKHIR

FROM barang ib
LEFT JOIN inventory.satuan s ON s.ID=ib.SATUAN
ORDER BY ib.ID ASC

You might also like