sql >> Base de Datos >  >> RDS >> Mysql

MySQL:¿es posible group_concat varias filas?

Su consulta existente está devolviendo todo lo que necesita para producir las columnas concatenadas. Si envuelve su consulta existente en una subconsulta, puede GROUP_CONCAT() ambas columnas y GROUP BY attribute_name :

SELECT 
  attribute_name,
  GROUP_CONCAT(attribute_value_id) AS attribute_value_ids,
  GROUP_CONCAT(attribute_value) AS attribute_values
FROM (
  /* Wrap the body of your existing query in a subselect */
  SELECT 
    a.name AS attribute_name,
    av.attribute_value_id,
    av.value AS attribute_value
  FROM  
    attribute_value av
    INNER JOIN attribute a
         ON av.attribute_id = a.attribute_id
  WHERE      
    av.attribute_value_id IN
               (SELECT attribute_value_id
                FROM   property_attribute
                WHERE  property_id = 1)
) attr_groups
GROUP BY attribute_name
ORDER BY attribute_name;