Menggunakan SQL GROUP_CONCAT untuk menampilkan detail data dalam baris field

Selamat pagi pembaca,

Kemarin saya menemukan kasus di salah satu group facebook pemrogram, meskipun saya belum pernah mengalami hal yang sama, namun saya ingin mendokumentasikan penyelesaian permasalahan tersebut, mengingat permasalahan tersebut bisa jadi nanti akan saya alami. Pada intinya SQL ini menampilkan data detailnya, untuk lebih jelasnya kita lihat gambar dibawah ini :


Dalam tabel data ada tiga buah field yaitu kodebarang, warna, banyak. Dan dalam tabel tersebut ada beberapa record, yang nantinya tabel tersebut akan di olah atau diproses dengan perintah SQL yang menghasilkan report/laporan disebelah kanan. Sekarang kita buat dulu tabelnya, didalam contoh ini saya menggunakan MySQL. Anda bisa perhatikan perintah SQL dibawah ini untuk membuat database dan tabel serta recordnya

1. Perintah membuat database baru
    CREATE DATABASE `dblatihan`;

2. Perintah untuk membuat tabel
    CREATE TABLE `dblatihan`.`tbldata` (
   `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
   `kodebarang` VARCHAR( 15) NOT NULL ,
   `warna` VARCHAR( 35) NOT NULL ,
   `banyak` INTEGER( 10) NOT NULL
   ) ENGINE = MYISAM ;

3. Perintah untuk input data atau record ke tabel
   INSERT INTO tbldata( kodebarang, warna, banyak )
  VALUES (

  'cd01', 'merah', 25
  ), (
  'cd01', 'merah', 23
  ), (
  'cd01', 'merah', 24
  ), (
  'cd01', 'merah', 25
  ), (
  'cd01', 'merah', 21
  ), (
  'cd01', 'merah', 22
  ), (
  'pd02', 'biru', 15
  ), (
  'pd02', 'hijau', 16
  );


Kita coba cek / tampilkan data di tblbarang dengan SQL SELECT

SELECT * FROM tbldata;
+--+--------------------+------------+---------+
| id | kodebarang | warna| banyak |
+--+--------------------+------------+---------+
| 1  |
cd01      | merah | 25      |
| 2  |
cd01      | merah | 23      || 3  | cd01      | merah | 24      |
| 4  |
cd01      | merah | 25      |
| 5  |
cd01      | merah | 21      |
| 6  | cd01      | merah | 22      |
| 7  |
pd02      | biru  | 15      |
| 8  |
pd02      | hijau | 16      |  
+--+---------------------+------------+---------+

4. Perintah untuk menampilkan data sesuai kasus diatas menggunakan GROUP_CONCAT
SELECT kodebarang, warna, sum( banyak ) AS banyak_kg, count( warna ) AS banyak_rol, GROUP_CONCAT( banyak ) AS rincian
FROM tbldata
GROUP BY warna


Silahkan anda lihat hasilnya, semoga bermanfaat.
Terimakasih
 

0 Response to "Menggunakan SQL GROUP_CONCAT untuk menampilkan detail data dalam baris field"

Post a Comment