|
|
|
| Есть запрос, который выводит темы форума подсчитывая количество постов в теме.
t - таблица тем
p - таблица постов
Вот он
$sql="SELECT t.name, t.time_reg_max_post, COUNT(p.pn) AS num
FROM sfm_themes t
LEFT JOIN sfm_posts p ON t.pn=p.themes
WHERE t.forums=".$f."
GROUP BY t.pn
ORDER BY t.time_reg_max_post DESC";
|
если запустить этот запрос, то выводится количество постов в теме, время которых больше, чем время последнего посещения форума пользователем
$sql="SELECT t.name, t.time_reg_max_post, COUNT(p.pn) AS new
FROM sfm_themes t
LEFT JOIN sfm_posts p ON t.pn=p.themes AND p.reg_data > ".$time."
WHERE t.forums=".$f."
GROUP BY t.pn
ORDER BY t.time_reg_max_post DESC";
|
Можно обойтись одним запросом, чтобы получить одним массивом и общее количество постов, и количество постов с момента последнего посещения? Куда рыть, если можно? | |
|
|
|
|
|
|
|
для: Рома
(25.07.2009 в 21:13)
| | Проблема решена, я хотел вот так:
$sql="SELECT
t.name, t.time_reg_max_post,
COUNT(p.pn) AS num,
SUM(CASE WHEN p.reg_data > $time THEN 1 ELSE 0 END) AS new
FROM sfm_themes t
LEFT JOIN sfm_posts p ON t.pn=p.themes
WHERE t.forums= $f
GROUP BY t.pn
ORDER BY t.time_reg_max_post DESC";
|
| |
|
|
|
|
|
|
|
для: Рома
(26.07.2009 в 06:31)
| |
SUM(CASE WHEN p.reg_data > $time THEN 1 ELSE 0 END)
|
=
| |
|
|
|