объединить кол-во тем, комментариев и даты последнего комментария на форуме sql - PullRequest
0 голосов
/ 03 мая 2020

Я занимаюсь разработкой форумного веб-сайта. Я хочу поместить следующую информацию в div

 Category: Cars
 Topics: 27  Comments:5436
 Last Comment: 01.04.2020 //php formated

Здесь я считаю количество сообщений

   SELECT * 
   FROM posts as p
   WHERE p.category= :category 

   $sql->execute();

Здесь я считаю количество комментариев

   SELECT * 
   FROM comments as c
   LEFT JOIN posts as p ON c.id_post = p.id_post
   WHERE p.category= :category 

   $sql->execute();

Здесь я нахожу дату последнего комментария

   SELECT max(c.date) as maxdate
   FROM comments as c
   LEFT JOIN posts as p ON c.id_post = p.id_post
   WHERE p.category= :category 
   GROUP BY c.id_comment

   $sql->execute();

Моя самая большая проблема в том, как мне объединить все эти три sql предложения и выполнение 3 pdo в одном sql оператор (одиночное выполнение pdo)?

1 Ответ

1 голос
/ 03 мая 2020

Вы можете объединяться и объединяться. Рассмотрим:

select 
    p.category,
    count(distinct p.id_posts) no_posts,
    count(c.id_post)           no_comments,
    max(c.date)                date_last_comment
from posts p
left join comments c on c.id_post = p.id_post
where p.category= :category 
group by p.category
...