MySQL - Crear columnas a partir de Joins

   
Vista:

Crear columnas a partir de Joins

Publicado por jonay (1 intervención) el 19/07/2016 19:33:35
Hola, a ver si me pueden ayudar,

Tengo dos tablas tal que así:

TABLE 1 - users
-------------
id | username | user_data
1 | George | …
2 | John | …
3 | Mary | …


TABLE 2 - services
-------------
id | id_user | service_name | service_data
1 | 1 | lunch | …
2 | 1 | dinner | …
3 | 2 | lunch | …
4 | 3 | dinner | …


Bien, si hago el típico LEFT JOIN

1
2
3
4
SELECT username, service_name
FROM users
LEFT JOIN services ON users.id = services.id_user
WHERE 1

Obtengo esto:

username | service
George | lunch
George | dinner
John | lunch
Mary | dinner

Pero necesito exportar un excel por columnas y necesitaría un resultado tal que así:

username | service_1 | service_2
George | lunch | dinner
John | lunch | NULL
Mary | NULL | dinner

No es posible hacer una consulta por cada registro de usuario porque serían muchas consultas (lo que pongo aquí es meramente ilustrativo para exponer el problema).

Alguna idea para hacer lo que quiero con un sola consulta o algún truquillo para formatear el resultado en PHP?

Gracias por adelantado.



salu2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder