Я использую таблицу Votes
для размещения симпозиумов/не понравилось для сообщений пользователя (Posts
). Теперь я хочу выбрать количество сообщений, которые нравятся и не нравятся. В настоящее время запрос выглядит следующим образом:MySQL выбирает разные значения как разные столбцы в одной таблице?
SELECT p.*, count(v1.id) AS Likes, count(v2.id) AS Dislikes FROM Posts p
LEFT JOIN Votes v1 ON v1.post_id=p.id AND v1.status=1
LEFT JOIN Votes v2 ON v2.post_id=p.id AND v2.status=2
WHERE p.id=123
Есть ли лучший подход, чтобы эти два случая можно было объединить в один?