Có thể câu hỏi của tôi không rõ ràng, hãy để tôi giải thích: Điều tôi cần là có được danh sách tất cả người dùng cùng với một số khách hàng/tổ hợp bán buôn tương ứng, mỗi khách hàng có 1 đến 4 khác nhau của khách hàng số/bán buôn kết hợpLàm thế nào để nhóm kết quả tham gia bên trong mysql từ hàng vào cột
Trong db của tôi, tôi có 2 bảng
USERS
id | name
---------
1 | a
2 | b
CLIENT_NUMBERS
id | user_id | number | wholesaler
----------------------------------
1 | 1 | ac1 | aw1
2 | 1 | ac2 | aw2
3 | 2 | bc1 | bw1
Sử dụng một INNER đơn giản THAM GIA tôi đã hàng khách hàng nhân đôi, một cho mỗi tương ứng với số lượng khách hàng/người bán buôn
Tôi đã quản lý để sửa chữa các kết quả sử dụng GROUP_CONCAT trong truy vấn này:
SELECT a.id AS user_id, a.name AS Name
GROUP_CONCAT(b.client_no, ', ', b.wholesaler SEPARATOR '; ') AS client_no_wholesaler
FROM users AS a
INNER JOIN client_numbers AS b ON a.id = b.user_id
GROUP BY ID
user_id | name | client_no_wholesaler
--------------------------------------------
1 | a | ac1, aw1; ac2, aw2
2 | b | bc1, bw1
Cho đến nay rất tốt, nhưng tôi cần phải "nổ" sự kết hợp khách hàng số/bán buôn thành các cột khác nhau nên kết quả của tôi có thể trông như thế này :
user_id | name | client_no_wholesaler1 | client_no_wholesaler2 | ...up to 4
----------------------------------------------------------------------------
1 | a | ac1, aw1 | ac2, aw2 |
2 | b | bc1, bw1 | |
việc làm này sau khi nhận được kết quả truy vấn với một PHP đơn giản nổ không phải là một lựa chọn vì tôi đang sử dụng một lớp học để tạo ra một tập tin XLS và nó dựa trên các cột kết quả truy vấn của tôi, bất kỳ ý tưởng sẽ được đánh giá cao .
"Pivot" tôi đã học được điều gì đó mới mẻ hôm nay, cảm ơn rất nhiều, truy vấn của bạn hoạt động như tôi cần – hey259