Query Tabel Dengan Fungsi GROUP_CONCAT Mysql

بسم الله الرحمن الرحيم
Alhamdulillah, pada kesempatan ini saya ingin berbagi bagaimana menggunakan fungsi GROUP_CONCAT Mysql. Untuk apa fungsi ini digunakan? berikut penjelasan singkat:
Misal ada 2 buah tabel yang saling terhubung, di sini saya contohkan Tabel Barang dan Tabel Penjualan.
Tabel Barang
id_barang int(11)
nama_barang varchar(20)
harga int(11)


Tabel Penjualan
no_transaksi varchar(15)
id_barang int(11)
qty int(11)
total_bayar int(11)

kemudian isi data dari tabel tersebut adalah sebagai berikut:
Tabel Barang
id_barang nama_barang harga
1 Kue Bingka 22000
2 Keripik singkong 1000

Tabel Penjualan
no_transaksi id_barang qty total_bayar
20150509-001 1 2 44000
20150509-001 2 95 95000

Jika dengan query biasa, kita dapat menampilkan Tabel Penjualan yang nama_barang-nya berdasarkan id_barang pada Tabel Barang.
Tabel Penjualan (query)
no_transaksi nama_barang qty total_bayar
20150509-001 Kue Bingka 2 44000
20150509-001 Keripik singkong 95 95000
Total bayar semua item adalah 44000+95000 = 139000. Pertanyaan, bagaimana jika kita ingin menampilkan nama barang dan qty dalam satu baris dan ditambah Total bayar keseluruhan seperti berikut ini?
Tabel Penjualan
no_transaksi nama_barang qty total_bayar
20150509-001 Kue Bingka,Keripik singkong 2,95 139,000
Nah, untuk mendapatkan hasil seperti tabel di atas, kita dapat menggunakan fungsi GROUP_CONCAT.
Cara menggunakannya mudah saja, coba jalankan query berikut:

SELECT tb_penjualan.no_transaksi, (
GROUP_CONCAT( tb_barang.nama_barang )
) AS nama_barang, (
GROUP_CONCAT( tb_penjualan.qty )
) AS qty, (
SELECT sum( tb_penjualan.total_bayar )
) AS total_bayar
FROM tb_penjualan, tb_barang
WHERE tb_penjualan.id_barang = tb_barang.id_barang
GROUP BY tb_penjualan.no_transaksi


Sekarang lihat hasilnya, insya Allah persis seperti tabel di atas.
Semoga bermanfaat dan saya mohon kritik dan saran secara sukarela dari pengunjung terhormat.
Terima kasih,
Wassalamu 'alaikum warahmatullahi wabarakatuh

Comments

Popular posts from this blog

Membuat File Resource (*.res)