Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Где ошибка


Автор: sayber 2.8.2007, 11:53
Мне надо сделать что то типа

Код

SELECT post.*, comments.count(*) as counter FROM post, comments WHERE comments.cpost = post.id


Но не работает даже:

Код

SELECT cpost, count(*) as counter FROM comments


Где ошибка?

Автор: belousov 2.8.2007, 12:02
sayber, count нельзя смешивать, он должен быть один во всем запросе 

Код

SELECT count(*) as counter FROM comments



Вот так работать будет

Автор: sayber 2.8.2007, 12:11
Ага .... но мне надо для каждой записи. так я снаю что будет работать.

Автор: belousov 2.8.2007, 12:16
sayber, я тебе могу ошибку скопировать, что нельзя count так использовать.

Код

MySQL said:  

#1140 - Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause 




так что такой вариант как у тебя не прокатит в любом случае

Автор: Glip 2.8.2007, 12:41
Код

SELECT cpost, count(cpost) as counter FROM comments group by cpost


Добавлено @ 12:45
и join с ним для  
Код
SELECT post.* FROM post
  по   
Код
comments.cpost = post.id


так что вперёд читать доку smile

PS: не понятно правда при чем тут php

Автор: sayber 2.8.2007, 13:41
Glip, Спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)