|
|
|
| У меня проблема,запрос вроде правильный а php что то не нравится!
вот запрос
SELECT t.forum as tforum, count(t.tid) as fnumst, count(p.pid) as fnumsp FROM phx_topics t LEFT JOIN phx_posts p WHERE p.topic=t.tid and t.forum='{$oll[fid]}'
|
а в результате вот что мне пишут
MySQL:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE p.topic=t.tid and t.forum='1'' at line 1
так где ошибка? | |
|
|
|
|
|
|
|
для: ZAHTET
(04.04.2007 в 19:46)
| | Конструкция LEFT JOIN требует ON условия соединения таблиц. | |
|
|
|
|
|
|
|
для: Trianon
(04.04.2007 в 20:05)
| | да,точно но при этом запросе
SELECT t.forum as tforum, count(t.tid) as fnumst, count(p.pid) as fnumsp FROM phx_topics t LEFT JOIN phx_posts p ON p.topic=t.tid WHERE t.forum='1'
|
тоже ошибку выдает!
MySQL:Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
че это значит? | |
|
|
|
|
|
|
|
для: ZAHTET
(04.04.2007 в 20:20)
| | Вы применяете смесь скаляров (t.forum) и агрегатов (count(t.tid)) в списке SELECT-полей
Такое можно писать лишь в том случае, если Вы сгруппируете строки результата по полям скаляров (укажете GROUP BY t.forum) . Иначе запрос теряет всякий смысл. | |
|
|
|
|
|
|
|
для: Trianon
(04.04.2007 в 20:55)
| | в общем я с этой проблемой разобрался,но теперь у меня проблема более глубокая
Вот этот ацкий код
$base->query("SELECT cid,name as cname,position FROM phx_categories ORDER BY position");
while($all = $base->fetch_array()) {
$portal[$all['cid']]['id'] = $all['cid'];
$portal[$all['cid']]['name'] = $all['cname'];
$base->query("SELECT * FROM phx_forums WHERE category = '{$all[cid]}'");
while($oll = $base->fetch_array()) {
$base->query("SELECT count(t.tid) as fnumst,
count(p.pid) as fnumsp FROM phx_topics t
LEFT JOIN phx_posts p ON p.topic=t.tid
WHERE t.forum='{$oll[fid]}'");
while($rol = $base->fetch_array()) {
$portal[$all['cid']]['forums'][] = array ('id' => $oll['fid'],
'name' => $oll['name'],
'description' => $oll['description'],
'numst' => $rol['fnumst'],
'numsp' => $rol['fnumsp']);
}
}
}
|
Тут в общем выбирается только 1 категория,в чем проблема и где ошибка?Если нетрудно то можете помочь? | |
|
|
|