Mi tabla (tbl) tiene filas duplicadas para el mismo libro, mi necesidad es buscarlo como un conjunto con todos los valores únicos

table1

id  bookId  format
1   123      A
2   123      B
3   123      C
4   123      D

Mi necesidad es obtener el conjunto de resultados de la siguiente manera

     bookID      format
      123        A,B,C,D  

Una unión sería muy tediosa. ¿Hay algo que no sé? ¿Lo hago en bucle?

0
Tested 13 dic. 2016 a las 11:18

2 respuestas

La mejor respuesta

Utilice GROUP_CONCAT():

SELECT t.bookID,
       GROUP_CONCAT(distinct t.format ORDER BY t.format) as `format`
FROM YourTable t
GROUP BY t.bookID
1
sagi 13 dic. 2016 a las 08:21

Utilice GROUP_CONCAT

SELECT bookID,GROUP_CONCAT(format) FROM table1 GROUP BY bookID

Fiddle

2
Hanky Panky 13 dic. 2016 a las 08:20