ใช้ INSERT INTO ... SELECT ร่วมกับ GROUP_CONCAT() เพื่อรวมหลายแถวเป็นหนึ่งแถว
สร้างตารางต้นทางและเพิ่มข้อมูล
mysql> create table DemoTable1(Name varchar(100));
Query OK, 0 rows affected (0.55 sec)
mysql> insert into DemoTable1 values('Chris'); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1 values('Robert'); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1 values('Adam'); Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1 values('Bob'); Query OK, 1 row affected (0.20 sec)
สร้างตารางปลายทาง
mysql> create table DemoTable2(ListOfEmployee text); Query OK, 0 rows affected (0.59 sec)
คัดลอกรวมชื่อทั้งหมดเข้าไปในหนึ่งแถว
mysql> insert into DemoTable2(ListOfEmployee) select group_concat(Name) from DemoTable1; Query OK, 1 row affected (0.20 sec)
ตรวจสอบผลลัพธ์
mysql> select * from DemoTable2;
+-----------------------+ | ListOfEmployee | +-----------------------+ | Chris,Robert,Adam,Bob | +-----------------------+ 1 row in set (0.00 sec)
ประโยชน์: คัดลอกและแปลงข้อมูลได้ในคำสั่งเดียว ไม่ต้องเขียนโปรแกรมกลาง