Tal vez mi pregunta no es tan clara, por favor déjenme explicar: Lo que necesito es obtener una lista de todos los usuarios junto con una combinación de número de cliente/mayorista correspondiente, cada cliente tiene 1 hasta 4 diferentes combo número de cliente/mayoristaCómo agrupar los resultados de combinación interna de mysql de filas en columnas
En mi db tengo 2 tablas
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
Usando un simple INNER JOIN yo nos filas de clientes duplicados, uno para cada número de cliente/mayorista correspondientes
Me las he arreglado para fijar los resultados utilizando GROUP_CONCAT en esta consulta:
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
Hasta aquí todo bien, pero necesito "explotar" la combinación de cliente/número de mayorista en diferentes columnas para que mis resultados pueden tener este aspecto :
user_id | name | client_no_wholesaler1 | client_no_wholesaler2 | ...up to 4
----------------------------------------------------------------------------
1 | a | ac1, aw1 | ac2, aw2 |
2 | b | bc1, bw1 | |
Hacer esto después de recibir los resultados de la consulta con un simple PHP explotar no es una opción porque estoy usando una clase para generar un archivo XLS y su base de mis columnas de resultados de la consulta, será apreciado alguna idea .
"Pivot" He aprendido algo nuevo hoy, muchas gracias, tu consulta funciona como lo necesitaba – hey259