Estoy tratando de combinar unas filas se combinan y salen como 1 fila. Aquí está mi ejemplo y mi salida esperada. He tratado GROUP_CONCAT y poner si / caja condición en la consulta pero parece de alguna manera no puedo salida como yo esperaba. Gracias por adelantado.
Data:
id | Type | Name |Supermarket
1 Fruit Apple East
2 Fruit Orange West
3 Fruit Pear Central
Expected Output:
Type |East |West |Central
Fruit Apple Orange Pear
Las preguntas duplicadas que miraba para arriba para esto no tienen respuestas muy claras en mi humilde opinión, por lo que voy a escribir uno:
Lo primero que necesitamos para difundir los datos que nos interesa a través de 3 columnas:
SELECT
type,
CASE WHEN supermarket = 'east' THEN name END as east,
CASE WHEN supermarket = 'west' THEN name END as west,
CASE WHEN supermarket = 'central' THEN name END as central
FROM t
Ejecutar eso y verá la difusión de datos a 3 filas y 3 columnas, en su mayoría nulos. Ahora necesitamos para deshacerse de los nulos. Si utilizamos MAX () en cada columna con nulos vamos a ocultar todo excepto el celular que tiene un valor (máx siempre escogerá un valor superior a cero)
SELECT
type,
MAX(CASE WHEN supermarket = 'east' THEN name END) as east,
MAX(CASE WHEN supermarket = 'west' THEN name END) as west,
MAX(CASE WHEN supermarket = 'central' THEN name END) as central
FROM t
GROUP BY type