Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Cara memfilter data dengan cepat, dengan menggunakan banyak table

Contoh Table 1 :

CREATE TABLE `master_barang` (
  `Kode_Barang` varchar(15) NOT NULL DEFAULT '-',
  `Nama_Barang` varchar(255) NOT NULL DEFAULT '-',
  `Kode_Supplier` varchar(10) DEFAULT '-',
  `Kode_Jenis` varchar(10) NOT NULL DEFAULT '-',
  `Kode_Kategori` varchar(10) NOT NULL DEFAULT '-',
  `Modal` decimal(19,0) DEFAULT '0',
  `Resistensi_Modal` varchar(50) DEFAULT '0.00',
  `Modal_Bersih` decimal(19,0) DEFAULT '0',
  `Resistensi_Harga_Eceran` varchar(50) DEFAULT '0.00',
  `Harga_Eceran` decimal(19,0) DEFAULT '0',
  `Harga_Grosir` decimal(19,0) DEFAULT '0',
  `Harga_Bengkel` decimal(19,0) DEFAULT '0',
  `Operator` varchar(50) DEFAULT '-',
  `Nama_Komputer` varchar(50) DEFAULT '-',
  `Tanggal_Pembuatan` datetime DEFAULT '2014-11-02 00:00:00',
  `Tanggal_Pembaharuan` datetime DEFAULT '2014-11-02 00:00:00',
  PRIMARY KEY (`Kode_Barang`),
) ENGINE=InnoDB DEFAULT CHARSET=latin1

Contoh Table 2 :

CREATE TABLE `jenis_barang` (
  `Kode_Jenis` VARCHAR(3) NOT NULL DEFAULT '-',
  `Nama_Jenis` VARCHAR(255) DEFAULT '-',
  `Operator` VARCHAR(50) DEFAULT '-',
  `Nama_Komputer` VARCHAR(50) DEFAULT '-',
  `Tanggal_Pembuatan` DATETIME DEFAULT '2014-11-02 00:00:00',
  `Tanggal_Pembaharuan` DATETIME DEFAULT '2014-11-02 00:00:00',
  PRIMARY KEY (`Kode_Jenis`)
) ENGINE=INNODB DEFAULT CHARSET=latin1

Comments

  • Contoh Table 3 :

    CREATE TABLE `kategori_barang` (
      `Kode_Jenis` VARCHAR(3) NOT NULL DEFAULT '-',
      `Kode_Kategori` VARCHAR(2) NOT NULL DEFAULT '-',
      `Nama_Kategori` VARCHAR(255) DEFAULT '-',
      `Operator` VARCHAR(50) DEFAULT '-',
      `Nama_Komputer` VARCHAR(50) DEFAULT '-',
      `Tanggal_Pembuatan` DATETIME DEFAULT '2014-11-02 00:00:00',
      `Tanggal_Pembaharuan` DATETIME DEFAULT '2014-11-02 00:00:00'
    ) ENGINE=INNODB DEFAULT CHARSET=latin1

    Contoh Table 4 :

    CREATE TABLE `master_gudang` (
      `Kode_Gudang` VARCHAR(10) NOT NULL DEFAULT '-',
      `Nama_Gudang` VARCHAR(255) NOT NULL DEFAULT '-',
      `Alamat_Gudang` VARCHAR(255) DEFAULT '-',
      `Telephone1` VARCHAR(15) DEFAULT '0',
      `Telephone2` VARCHAR(15) DEFAULT '0',
      `Handphone1` VARCHAR(15) DEFAULT '0',
      `Handphone2` VARCHAR(15) DEFAULT '0',
      `Fax` VARCHAR(15) DEFAULT '0',
      `Email` VARCHAR(50) DEFAULT '-',
      `Operator` VARCHAR(50) DEFAULT '-',
      `Nama_Komputer` VARCHAR(50) DEFAULT '-',
      `Tanggal_Pembuatan` DATETIME DEFAULT '2014-11-02 00:00:00',
      `Tanggal_Pembaharuan` DATETIME DEFAULT '2014-11-02 00:00:00',
      PRIMARY KEY (`Kode_Gudang`)
    ) ENGINE=INNODB DEFAULT CHARSET=latin1

    Contoh Table 5 : 
    CREATE TABLE `master_supplier` (
      `Kode_Supplier` VARCHAR(5) NOT NULL DEFAULT '-',
      `Nama_Supplier` VARCHAR(255) DEFAULT '-',
      `No_SIUP` VARCHAR(20) DEFAULT '-',
      `Alamat_Supplier` VARCHAR(255) DEFAULT '-',
      `Asal_Supplier` VARCHAR(10) DEFAULT '-',
      `Tipe_Bisnis` VARCHAR(20) DEFAULT '-',
      `Tipe_Supplier` VARCHAR(20) DEFAULT '-',
      `Contact_Person` VARCHAR(50) DEFAULT '-',
      `Jabatan` VARCHAR(50) DEFAULT '-',
      `Telephone1` VARCHAR(15) DEFAULT '-',
      `Telephone2` VARCHAR(15) DEFAULT '-',
      `Handphone1` VARCHAR(15) DEFAULT '-',
      `Handphone2` VARCHAR(15) DEFAULT '-',
      `Fax` VARCHAR(15) DEFAULT '-',
      `Email` VARCHAR(50) DEFAULT '-',
      `Operator` VARCHAR(50) DEFAULT '-',
      `Nama_Komputer` VARCHAR(50) DEFAULT '-',
      `Tanggal_Pembuatan` DATETIME DEFAULT '2014-11-02 00:00:00',
      `Tanggal_Pembaharuan` DATETIME DEFAULT '2014-11-02 00:00:00',
      PRIMARY KEY (`Kode_Supplier`)
    ) ENGINE=INNODB DEFAULT CHARSET=latin1

  • ini permasalahannya apa toh mas?
    apa yng mau difilter dan ditampilkan?

    8-|
  • para master tolong bantu saya, saya bingung cara menampilkan data barang dengan mavalidasi banyak data dari table-table master di atas, seperti kode_supplier, kode_kategori, kode_jenis dan kode_gudang,
    dan saya mencoba dengan query yg ada di bawah ini, dan hasil  nya lama, tolong bantu ya kawan-kawan.

    SELECT 
    MS.Nama_Supplier AS Supplier, JB.Nama_Jenis AS Jenis_Barang, KB.Nama_Kategori AS Kategori_Barang, MB.Kode_Barang, MB.Nama_Barang, 
    (IFNULL(so.total_so,0) + IFNULL(pbd.total_beli,0) - IFNULL(pjd.total_jual,0) + IFNULL(rpjd.total_retur_jual,0) - IFNULL(rpbd.total_retur_beli,0) - IFNULL(bkd.total_barang_keluar,0)) AS Stok, 
    IFNULL(RPJD2.total_retur_rusak,0) AS Stok_Rusak, MB.Modal, MB.Resistensi_Modal AS Res_Modal, MB.Modal_Bersih, MB.Resistensi_Harga_Eceran AS Res_Eceran, MB.Harga_Eceran AS Eceran, MB.Harga_Grosir AS Grosir, MB.Harga_Bengkel AS Bengkel, 
    MB.Operator , MB.Nama_Komputer, MB.Tanggal_Pembuatan, MB.Tanggal_Pembaharuan 
    FROM master_barang AS MB 
    LEFT JOIN Jenis_Barang AS JB ON MB.Kode_Jenis=JB.Kode_Jenis 
    LEFT JOIN Kategori_Barang AS KB ON MB.Kode_Kategori=KB.Kode_Kategori AND JB.Kode_Jenis=KB.Kode_Jenis 
    LEFT JOIN Master_Supplier AS MS ON MB.Kode_Supplier=MS.Kode_Supplier 
    LEFT JOIN (SELECT *, SUM(qty) AS total_so FROM stok_opname WHERE Kode_Gudang='GD01' GROUP BY kode_barang) AS SO ON SO.Kode_Barang=MB.Kode_Barang 
    LEFT JOIN (SELECT *, SUM(qty) AS total_beli FROM pembelian_detail WHERE Kode_Gudang='GD01' GROUP BY kode_barang) AS PBD ON PBD.Kode_Barang=MB.Kode_Barang 
    LEFT JOIN (SELECT *, SUM(qty) AS total_jual FROM penjualan_detail WHERE Kode_Gudang='GD01' GROUP BY kode_barang) AS PJD ON PJD.Kode_Barang=MB.Kode_Barang 
    LEFT JOIN (SELECT *, SUM(qty_retur) AS total_retur_beli FROM retur_pembelian_detail WHERE Kode_Gudang='GD01' GROUP BY kode_barang) AS RPBD ON RPBD.Kode_Barang=MB.Kode_Barang 
    LEFT JOIN (SELECT *, SUM(qty_retur) AS total_retur_jual FROM retur_penjualan_detail WHERE Kode_Gudang='GD01' AND Keterangan='Tidak sesuai pesanan' GROUP BY kode_barang) AS RPJD ON RPJD.Kode_Barang=MB.Kode_Barang 
    LEFT JOIN (SELECT *, SUM(qty_retur) AS total_retur_rusak FROM retur_penjualan_detail WHERE Kode_Gudang='GD01' AND Keterangan='Rusak' GROUP BY kode_barang) AS RPJD2 ON RPJD2.Kode_Barang=MB.Kode_Barang 
    LEFT JOIN (SELECT *, SUM(qty) AS total_barang_keluar FROM barang_keluar_detail WHERE Kode_Gudang='GD01' GROUP BY kode_barang) AS BKD ON BKD.Kode_Barang=MB.Kode_Barang WHERE MB.NAMA_BARANG LIKE'%%'  ORDER BY MB.Nama_Barang
  • edited July 2015
    [1] banyak table yg kagak di post struktur table nya

    [2] posting struktur pun kagak membantu banyak, kalo kagak ada sample data nya

    jadi yaaaa ... cuma bisa komentar : hindari sub query

    sudah itu aja
Sign In or Register to comment.