Задать вопрос

Вывод данных с MYSQL

У меня есть две таблици в базе данных одна с постами другая с комменатми мне нужно достать с одной все посты а со второй подсчитать количество комментов, все это желательно сделать одним запросом. Я пытался доставать все это вот этим запросом
SELECT posts.post_id, posts.name, posts.ctime, posts.author, posts.post, COUNT(comment.comment_id)  
FROM posts, comment 
WHERE comment.post_id=posts.post_id 
GROUP BY comment.post_id

но он выдает только те посты в который имеет записи в таблице с коментами какой функцией можно указать что если нет значения в таблице коментариев, этот пост тоже доставать
  • Вопрос задан
  • 2532 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
svd71
@svd71
SELECT posts.post_id, posts.name, posts.ctime, posts.author, posts.post
, (select COUNT(*) from comment   WHERE comment.post_id=posts.post_id ) as COUNT
FROM posts
Ответ написан
Romastr
@Romastr Автор вопроса
есть еще такой способ сделать все джоином без подзапроса
SELECT posts.post_id, posts.name, posts.ctime, posts.author, posts.post, count(comment.comment_id)
FROM posts
LEFT JOIN comment ON posts.post_id = comment.post_id
GROUP BY posts.post_id
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Satanpit
@Satanpit
Front-end developer
Как-то так:
SELECT posts.post_id, posts.name, posts.ctime, posts.author, posts.post, COUNT(comment.comment_id)  
FROM posts
LEFT JOIN comment USING(post_id)
GROUP BY posts.post_id
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽