MySQL Limit LEFT JOIN Subconsulta después de unirse
Actualmente tengo esta consulta:
SELECT post.id AS postID, sCom.id as CommentID FROM `post` LEFT JOIN (SELECT * FROM `comment` LIMIT 5) AS sCom ON sCom.post_id = post.id;
Salida:
postID | CommentID
1 | 1
2 | null
3 | null
4 | 2
5 | 3
5 | 4
5 | 5
Funciona pero LIMITA la tabla de comentarios antes de UNIRSE. El resultado es que selecciona los primeros 5 comentarios y los asigna. Todos los comentarios sobre un id de 5 se ignoran.
¿Cómo puedo volver a escribir la consulta para tener la publicación con un máximo de 5 comentarios seleccionados?
La estructura de la tabla actual:
Publicar:
CREATE TABLE IF NOT EXISTS `post` ( `id` int(11) NOT NULL AUTO_INCREMENT, `feed_id` int(11) DEFAULT NULL, `user_id` int(11) DEFAULT NULL, `origin_id` int(11) DEFAULT NULL, `content` longtext COLLATE utf8_unicode_ci NOT NULL, `enabled` tinyint(1) NOT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, PRIMARY KEY (`id`), KEY `IDX_5A8A6C8D51A5BC03` (`feed_id`), KEY `IDX_5A8A6C8DA76ED395` (`user_id`), KEY `IDX_5A8A6C8D56A273CC` (`origin_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;
Comentario:
CREATE TABLE IF NOT EXISTS `comment` ( `id` int(11) NOT NULL AUTO_INCREMENT, `feed_id` int(11) DEFAULT NULL, `user_id` int(11) DEFAULT NULL, `post_id` int(11) DEFAULT NULL, `content` longtext COLLATE utf8_unicode_ci NOT NULL, `enabled` tinyint(1) NOT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, PRIMARY KEY (`id`), KEY `IDX_9474526C51A5BC03` (`feed_id`), KEY `IDX_9474526CA76ED395` (`user_id`), KEY `IDX_9474526C4B89032C` (`post_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=11 ;
Gracias