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

Cómo tratar con varios autores devueltos por una consulta de tabla de libros

Es posible que desee considerar el uso de GROUP_CONCAT() así:

SELECT
  b.id,
  b.title,
  GROUP_CONCAT(CONCAT(a.fname,' ' , a.lname)) AS author_names,
  GROUP_CONCAT(a.id) as author_ids
FROM books b
LEFT JOIN author_book ab
  ON b.id = ab.book_id
LEFT JOIN authors a
  ON ab.author_id = a.id
WHERE b.id = '406'
GROUP BY b.id

Eso le daría una salida como:

406 | The world of the wheel of time | Robert Jordan,Teresa Patterson     | 2,3