Nuestro grupo especializado pasados ciertos días de trabajo y de recopilar de datos, dimos con la solución, deseamos que todo este artículo sea de utilidad para tu plan.
Solución:
Usar:
SELECT t.*,
x.combinedsolutions
FROM TICKETS t
LEFT JOIN (SELECT s.ticket_id,
GROUP_CONCAT(s.soution) AS combinedsolutions
FROM SOLUTIONS s
GROUP BY s.ticket_id) x ON x.ticket_id = t.ticket_id
Alterno:
SELECT t.*,
(SELECT GROUP_CONCAT(s.soution)
FROM SOLUTIONS s
WHERE s.ticket_id = t.ticket_id) AS combinedsolutions
FROM TICKETS t
Solo necesita agregar un GROUP_BY:
SELECT Tickets.*, GROUP_CONCAT(Solutions.solution) AS CombinedSolutions FROM Tickets
LEFT JOIN Solutions ON Tickets.id = Solutions.ticket_id
GROUP_BY Tickets.id
ORDER BY Tickets.id;
Creo que el comentario de @Dylan Valade es la respuesta más simple, así que lo publico como otra respuesta: simplemente agregar un GRUPO POR Tickets.id al SELECT del OP debería solucionar el problema. Solucionó mi propio problema.
Sin embargo, para las bases de datos que no son pequeñas, la respuesta aceptada, especialmente si hay predicados en Tickets.id, parece no implicar un escaneo total de la tabla y, por lo tanto, aunque el párrafo anterior arroja los resultados correctos, parece ser mucho menos eficiente en mi caso. .
Puedes añadir valor a nuestro contenido informacional asistiendo con tu experiencia en las reseñas.