Получение одинаковых рассчитывает на записи из SQL - PullRequest
1 голос
/ 25 октября 2010

Я добавляю подобную функцию в базу данных записей ... вот структура БД:

**Users**
user_id
user_name
etc.

**Entries**
entry_id
entry_content
etc.

**Likes**
user_id
entry_id

(Это немного сложнее, есть группы / категории, но это должно объяснить это прекрасно ...) Вот SQL-запрос, с которым я сейчас работаю:

SELECT 
entries.*,
DATE_FORMAT(entry_date, "%M %D, %Y") as entry_date,
groups.group_short_name,
users.user_name, users.user_id,
FROM entries 
INNER JOIN groups ON groups.group_id = entries.group_id 
INNER JOIN users ON users.user_id = entries.user_id 
ORDER BY entry_date DESC

Я пытаюсь также получить лайки для каждой записи с помощью этого запроса и задаюсь вопросом, возможно ли это. Я пытался:

COUNT(DISTINCT likes.like_id) as likes

с

LEFT JOIN likes ON likes.entry_id = entries.entry_id

Но я не думаю, что это где-то рядом. Я далеко? Это возможно? Надеюсь, все это имело смысл.

Спасибо за помощь заранее.

Ответы [ 2 ]

1 голос
/ 25 октября 2010

Дайте своим псевдонимам таблиц, на один ..

FROM entries e

Затем добавьте запрос столбца:

select e.*, (select count(*) from Likes where entry_id = e.entry_id) as entry_likes
0 голосов
/ 25 октября 2010

Добавить:

GROUP BY entries.entry_id

Проверьте, работает ли это.

...