Để làm điều này, bạn có thể sử dụng GROUP_CONCAT() kết hợp với REPLACE(). Hãy cùng tạo một bảng trước:
mysql> CREATE TABLE DemoTable1799 (
EmployeeId VARCHAR(20)
); Query OK, 0 rows affected (0.00 sec)
Chèn một số bản ghi vào bảng bằng lệnh INSERT:
mysql> INSERT INTO DemoTable1799 VALUES('101,102,103,104'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1799 VALUES('106,109'); Query OK, 1 row affected (0.00 sec)
Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:
mysql> SELECT * FROM DemoTable1799;
Kết quả sẽ như sau:
+-----------------+ | EmployeeId | +-----------------+ | 101,102,103,104 | | 106,109 | +-----------------+ 2 rows in set (0.00 sec)
Dưới đây là truy vấn để trích dẫn giá trị của cột đơn lẻ sử dụng GROUP_CONCAT và CONCAT với DISTINCT:
mysql> SELECT GROUP_CONCAT(DISTINCT CONCAT("'", REPLACE(EmployeeId, ",", "','") , "'")) AS Output FROM DemoTable1799;
Kết quả sẽ như sau:
+-------------------------------------+ | Output | +-------------------------------------+ | '101','102','103','104','106','109' | +-------------------------------------+ 1 row in set (0.00 sec)