выбор последних комментариев и постов mysql из одной таблицы с родителем и дочерними коментариями
( SELECT n.* , u.username, u.picture
FROM post n
LEFT JOIN user u ON u.id=n.wuserid
WHERE n.userId=22 and n.parentid=0
ORDER BY n.timeevent DESC
LIMIT 5
)
UNION all
(SELECT n.* , u.username, u.picture
FROM post n
LEFT JOIN user u ON u.id=n.wuserid
WHERE n.userId=22 and n.parentid<>0 AND
parentid IN ( SELECT n.id FROM post n
WHERE n.userId=22 and n.parentid=0 LIMIT 5
)
ORDER BY n.timeevent DESC
)
parentid IN ( SELECT n.id FROM post n
WHERE n.userId=22 and n.parentid=0 LIMIT 5
)
mysql ругается что нельзя делать LIMIT во вложенном запросе... а мне нужно именно последние подкамментарии выбрать
как это сделать?
замените вложенный запрос JOINом
(
SELECT n.* , u.username, u.picture
FROM post n
LEFT JOIN user u ON u.id=n.wuserid
WHERE n.userId=? and n.parentid=0 $EvP $EvL
ORDER BY n.timeevent DESC
LIMIT ?,?
)
UNION all
(
SELECT n.* , u.username, u.picture
FROM post n
LEFT JOIN user u ON u.id=n.wuserid
JOIN
(
SELECT n1.id FROM post n1
WHERE n1.userId=?i and n1.parentid=0 and n1.id >? and n1.id
ORDER BY n1.timeevent DESC
LIMIT ?i,?i
) pid
ON parentid= pid.id
спасибо большое за ответ
Комментарии
Оставить комментарий
Базы данных - MySql (Maria DB)
Термины: Базы данных - MySql (Maria DB)