MySQL การใช้ GROUP_CONCAT

GROUP CONCAT คือการรวมเอาข้อมูลในหลาย ๆ  Rows มาแสดงใน Row เดียว

ปัญหาคือ บางทีเราต้องการที่จะ Query ทีเดียวให้จบเลยไม่อยากไป Loop ใน Code ให้วุ่นวาย แต่ติดปัญหาที่ว่าจะมีข้อมูลในตาราง Detail ที่มีหลาย ๆ Rows ร่วมอยู่ด้วย GROUP_CONCAT จะช่วยเราให้ทำได้ง่ายขึ้นครับ

จากตัวอย่างนี้ ผมต้องการที่จะ Query ตาราง Products และต้องการนำข้อมูลรายละเอียดของ Product ในตาราง ProductDetail มาแสดงด้วยในคราวเดียวกันเลย ก็จะสามรถ Query ได้ตามนี้ครับ

SELECT product_code,
(
SELECT GROUP_CONCAT(CONCAT(diamon_name, ' ', diamon_karat, ' กะรัต' , ' ', diamon_amt, ' เม็ด'))
FROM product_detail where product_id = product.id
) as diamondetail
FROM product

ผลลัพธ์ที่ได้ก็จะออกมาประมาณนี้ครับ

มันช่างง่ายดาย และแจ่มแมวไปเลยครับ

@พี่โจ
//จบ

Leave a Reply

Your email address will not be published. Required fields are marked *

Share
Tweet
Pin
+1
Share
0 Shares