MySQL Query Gabung Lebih Dari 1 Record Row

Udah lama nih gag update blog :), akhirnya punya bahan juga untuk share lagi. Kali ini aku coba bagi pengalaman mengenai SQL Query. Jadi query ini tujuannya untuk menggabungkan beberapa data atau record yang ada di dalam suatu table menjadi satu tampilan atau menjadi satu record row berdasarkan ID tertentu.

Jadi misalkan begini, asumsi kita punya tabel dengan nama “detail_produksi” dengan struktur dan sample record sebagai berikut :

ID_DETIL ID_PRODUKSI NAMA_BAHAN
1 1 Bahan A
2 1 Bahan B
3 2 Bahan Z

Nah, yang akan ditampilkan harus seperti berikut ini :

ID_PRODUKSI BAHAN_PRODUKSI
1 Bahan A, Bahan B
2 Bahan Z

Poinnya adalah, Bahan A dan Bahan B tergabung menjadi satu karena mempunyai ID_PRODUKSI yang sama. Bagaimana querynya??? Silahkan lihat query berikut :

SELECT ID_PRODUKSI, GROUP_CONCAT(NAMA_BAHAN SEPARATOR ', ') AS BAHAN_PRODUKSI FROM detail_produksi GROUP BY ID_PRODUKSI

Kunci utama terletak di bagian “GROUP_CONCAT” yang merupakan fungsi bawaan dari MySQL sendiri. Oke sekian, semoga bisa bermanfaat untuk semua 🙂

14 thoughts on “MySQL Query Gabung Lebih Dari 1 Record Row

  1. Agan2 yang baik hati saya mau menggabungkan 2 table dan menampilkan berdasarkan periode tanggal ( between ) seperti berikut:
    Table: Plan
    Item Date Process Actual
    1 2012/01/01 a 800
    2 2012/01/02 a 1100
    3 2012/01/03 b 1200
    4 2012/01/04 a 100
    1 2012/01/05 c 800
    5 2012/01/06 d 300
    4 2012/01/07 b 600

    table : Actual
    Item Date Process Plan
    1 2012/01/01 a 1000
    2 2012/01/02 a 1100
    2 2012/01/03 a 1200
    4 2012/01/04 a 100
    1 2012/01/05 c 800
    5 2012/01/06 d 300
    4 2012/01/07 b 600

    OUTPUT : Where Date from 2012/01/01 until 2012/01/03
    for Process = a
    Item Plan Actual
    1 1000 800
    2 2300 1100
    3 0 1200

    Kira2x gimana syntax sqlnya gan..????

Leave a Reply