Помогите составить запрос

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Аватара пользователя
PaSiS
Сообщения: 88
Зарегистрирован: 2011.11.15, 18:07
Контактная информация:

Помогите составить запрос

Сообщение PaSiS »

Есть таблица с комментариями к записи:

Код: Выделить всё

id, post_id, user_id, text, etc...
и есть таблица голосования за комментарии (оценка полезности):

Код: Выделить всё

comment_id, user_id, upvote
надо сделать запрос, выводящий все комментарии к определенной публикации и указать, голосовал ли текущий пользователь за комментарий и, если голосовал, вывести значение upvote. Если не голосовал - upvote = NULL.

Т.е. результат должен быть следующий:

Код: Выделить всё

comment_id, text, upvote
БД - PostgreSQL.
Аватара пользователя
MaxHero
Сообщения: 144
Зарегистрирован: 2011.09.12, 04:34
Откуда: Украина, Киев

Re: Помогите составить запрос

Сообщение MaxHero »

Код: Выделить всё

SELECT comment.comment_id, comment.text, comment_vote.upvote
FROM comment
LEFT JOIN comment_vote ON comment.id=comment_vote.comment_id AND comment_vote.user_id=%USER_ID%
WHERE comment.post_id=%POST_ID%
где %USER_ID% - id текущего пользователя, а %POST_ID% - id целевой публикации
Аватара пользователя
PaSiS
Сообщения: 88
Зарегистрирован: 2011.11.15, 18:07
Контактная информация:

Re: Помогите составить запрос

Сообщение PaSiS »

MaxHero писал(а):

Код: Выделить всё

SELECT comment.comment_id, comment.text, comment_vote.upvote
FROM comment
LEFT JOIN comment_vote ON comment.id=comment_vote.comment_id AND comment_vote.user_id=%USER_ID%
WHERE comment.post_id=%POST_ID%
где %USER_ID% - id текущего пользователя, а %POST_ID% - id целевой публикации
Спасибо большое! Идеально работает :)
Ответить