Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Bagaimana membuat laporan stok periode pada transaksi masuk dan keluar barang dalam 1 preview di php

2»

Tanggapan

  • edited September 2015
    elo ngeliat beneran struktur yg gw tulis atau kagak to ?

    itu bukan query nya subquery
    tapi query elo yg utuh

    SELECT nya bukan SELECT nya subquery
    tapi SELECT utama yg menghasilkan data
  • Gini Juga salah OM,,Lu nunujukin where nya di dalem join OM terus yg bener kaya gimana dong OM?? pencerahan maning.. #:-S

    SELECT barang.kode_barang, barang.nama_barang, (barang.stok+(IFNULL(b.QTY_OUT,0)+IFNULL(c.RETUR,0))) as STOK_AWAL,
    IFNULL(a.QTY_IN,0) AS QTY_IN,IFNULL(b.QTY_OUT,0) AS QTY_OUT,IFNULL(c.RETUR,0)AS RETUR,barang.stok as STOK_REAL FROM barang WHERE a.kode_barang IS NOT NULL AND b.kode_barang IS NOT NULL AND c.kode_barang IS NOT NULL
    LEFT JOIN (SELECT detail_pengadaan.kode_barang, pengadaan.ada_tgl, SUM( detail_pengadaan.dada_qty ) AS QTY_IN
    FROM pengadaan LEFT JOIN detail_pengadaan ON pengadaan.ada_nota = detail_pengadaan.ada_nota
    WHERE  pengadaan.ada_tgl BETWEEN "2015-09-01" AND "2015-09-7"
    GROUP BY detail_pengadaan.kode_barang ASC
    )as a ON a.kode_barang = barang.kode_barang

    LEFT JOIN (
    SELECT detail_tau.kode_barang, tau.tau_tgl, SUM( detail_tau.dtau_qty ) AS QTY_OUT
    FROM tau
    LEFT JOIN detail_tau ON tau.tau_nota = detail_tau.tau_nota
    WHERE  tau.tau_tgl BETWEEN "2015-09-01" AND "2015-09-7"
    GROUP BY detail_tau.kode_barang ASC
    )as b ON b.kode_barang = barang.kode_barang

    LEFT JOIN (
    SELECT detail_retur.kode_barang, retur.retur_tgl, SUM( detail_retur.dretur_qty ) AS RETUR
    FROM retur
    LEFT JOIN detail_retur ON retur.retur_nota = detail_retur.dretur_nota
    WHERE retur.retur_tgl BETWEEN "2015-09-01" AND "2015-09-7"
    GROUP BY detail_retur.kode_barang ASC )as c ON c.kode_barang = barang.kode_barang
  • kagak paham syntax SQL kah ?

    mana ada setelah WHERE lalu ada JOIN ?

    dibaca to struktur yg sudah gw tunjukin
    WHERE itu setelah JOIN
  • NIH gw coba kaya gini jg masih gk tampil om,,itu nyimpen WHERE nya di tiap join apa di join terakhir aja?

    Contoh real query nya dong OM...puyeng nih Om...

    SELECT barang.kode_barang, barang.nama_barang, (barang.stok+(IFNULL(b.QTY_OUT,0)+IFNULL(c.RETUR,0))) as STOK_AWAL,
    IFNULL(a.QTY_IN,0) AS QTY_IN,IFNULL(b.QTY_OUT,0) AS QTY_OUT,IFNULL(c.RETUR,0)AS RETUR,barang.stok as STOK_REAL FROM barang
    LEFT JOIN (SELECT detail_pengadaan.kode_barang, pengadaan.ada_tgl, SUM( detail_pengadaan.dada_qty ) AS QTY_IN
    FROM pengadaan LEFT JOIN detail_pengadaan ON pengadaan.ada_nota = detail_pengadaan.ada_nota
    WHERE  pengadaan.ada_tgl BETWEEN "2015-09-01" AND "2015-09-7"
    GROUP BY detail_pengadaan.kode_barang ASC
    )as a ON a.kode_barang = barang.kode_barang

    LEFT JOIN (
    SELECT detail_tau.kode_barang, tau.tau_tgl, SUM( detail_tau.dtau_qty ) AS QTY_OUT
    FROM tau
    LEFT JOIN detail_tau ON tau.tau_nota = detail_tau.tau_nota
    WHERE  tau.tau_tgl BETWEEN "2015-09-01" AND "2015-09-7"
    GROUP BY detail_tau.kode_barang ASC
    )as b ON b.kode_barang = barang.kode_barang

    LEFT JOIN (
    SELECT detail_retur.kode_barang, retur.retur_tgl, SUM( detail_retur.dretur_qty ) AS RETUR
    FROM retur
    LEFT JOIN detail_retur ON retur.retur_nota = detail_retur.dretur_nota
    WHERE retur.retur_tgl BETWEEN "2015-09-01" AND "2015-09-7"
    GROUP BY detail_retur.kode_barang ASC )as c ON c.kode_barang = barang.kode_barang
    WHERE a.kode_barang IS NOT NULL AND b.kode_barang IS NOT NULL AND c.kode_barang IS NOT NULL
  • edited September 2015
    yg terakhir itu ...
    error ?
    atau kagak ada data yg dihasilkan ?
  • kagak ada data yang dihasilkan OM..padahal kan ada datanya harusnya...
  • ganti AND jadi OR
  • Sip OM,makasih Om Domba..

    kalo nentuin STOK AWAL OM, gmn Om logika Query nya kalo pengen nampilin per-periode berdasarkan tanggal transaksi...minta bantuan real Query nya kaya yg diatas..matur nuwunn
    :D
  • edited September 2015
    di query elo di atas pan sudah ada semua angkanya
    tinggal elo tentuin aja rumus nya ambil dari field mana saja

    pan tinggal main tambah kurang doang

    ini kan ?
    (barang.stok+(IFNULL(b.QTY_OUT,0)+IFNULL(c.RETUR,0))) as STOK_AWAL

    tinggal elo tentukan saja rumus yg bener kaya apa
  • berarti gk ada nambah-nambah query lagi ya Om?
    gw cuma tinggal mainin operator tambah atau kurang nya doang ya?
    makasih banyak OM,buat pencerahan nya..
  • setelah aku coba querynya... stok awalnya kok ambil dari barang.stok ya? harusnya ambil dari stok periode bulan / tahun lalu kan?
    mohon bimbingannya, saya jg kesulitan untuk kartu stok ini
Sign In or Register to comment.