sql запрос, помогите

chemax
На сайте с 07.01.2009
Offline
206
415

Есть таблички

comments

id | users_id

favor

id | users_id

users

id | name

как посчитать количество комментариев и добавление в закладки? вот такое выдает фигню...


SELECT
users.name,
count(favor.id) as sum1,
count(comments.id) as sum2
FROM `users`
join favor on favor.users_id=users.id
join comments on comments.users_id=users.id
Качественный хостинг, VPS и сервера. (http://ihc.ru/?ref=569)
T
На сайте с 19.12.2006
Offline
101
#1

Может что-то типа этого (не проверял):

SELECT

users.name,

(SELECT count(id) FROM `favor` WHERE favor.users_id=users.id) as sum1,

(SELECT count(id) FROM `comments` WHERE comments.users_id=users.id) as sum2

FROM `users`

A
На сайте с 29.12.2007
Offline
68
#2
chemax:
Есть таблички
comments
id | users_id
favor
id | users_id
users
id | name

как посчитать количество комментариев и добавление в закладки? вот такое выдает фигню...

Попробуй добавить GROUP BY users.id. В теории - должно помочь, проверить не могу в данный момент =(

CD
На сайте с 21.10.2004
Offline
82
#3

ТС, решение, данное telemad, походу верное. Простой JOIN тут не покатит, т.к. результаты будут "нахлестываться" друг на друга (уберите из него каунты, просто оставьте выборку соответствующих полей, и сразу поймете о чем речь). Там по идее и с джойном можно... но я не особе силен в таких подходах.

Отличная конвертация женского трафика. (http://tinyurl.com/394ayz3) Второй месяц - в подарок! Core2Duo E6600 2x2.4ГГц / 4ГБ / 2x250ГБ => $68/мес. (http://tinyurl.com/E6600)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий