
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
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
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


0