Tengo una tabla de comentarios y una tabla de etiquetas. Para cada comentario, podría haber múltiples etiquetas, o ninguna. Quiero unirme a los dos para poder obtener una lista de etiquetas para cada comentario.MySQL de uno a muchos se unen con Group By solo devuelve una observación
CommentTable:
+---------+----------+---+
|CommentID| Title | ..|
+---------+----------+---+
| 1 | animals| |
| 2 | plants | |
+---------+----------+---+
TagTable:
+---------+----------+---+
| TagID |CommentID | ..|
+---------+----------+---+
| 5 | 1 | |
| 6 | 1 | |
| 7 | 3 | |
+---------+----------+---+
lo tanto, una consulta debe devolver las etiquetas, (5,6) para una commentID == 1 y matriz vacía para CommentID == 2
Esto es lo que tengo - que sólo se selecciona el último ID y no múltiplos:
SELECT c.CommentID, c.Title, t.TagID FROM Comment as c
LEFT OUTER JOIN Tag as t ON c.CommentID = t.CommentID
GROUP BY t.TagID
Cuando se hace una _GROUP BY_, debe contener todos los datos mínimos que ha seleccionado. –