Селект из двух таблиц

Fr33m

Новичок
Селект из двух таблиц

Приветствую всех!

Кратко. Есть две таблицы
PHP:
`messages`: id, text, author // ID, текст сообщения, автор
`messages_rating`: id, message_id, weight, author // ID, id_сообщения, вес, автор
Хочу получить список messages, чтобы я видел следующее:
ID, текст сообщения, автора, (общий вес рейтинга сообщения), (вес моего голоса если я ставил рейтинг: NULL=нет, 0=воздержался, 1=плюсовал, -1=минусовал)

Что-то подобно я сделал:
PHP:
SELECT messages.id, messages.text, messages.author, messages_rating.weight, (messages_rating.author_id = 'МОЙ_ID') as voted
FROM messages
LEFT JOIN messages_rating ON messages.id = messages_rating.message_id
GROUP BY messages.id
в ответ получаю
id | message | author | weight | voted
8 | Привет, мир! Как дела? | Fr33m | 5 | 1

Но как видите, с умел лишь определить, "голосовал ли я?" А хочу видить, "как именно?"

Помогите, пожалуйста, найти лучик в темном ящике.
 

zerkms

TDD infected
Команда форума
почему бы не переместить условие messages_rating.author_id = 'МОЙ_ID' в ON объединения, где ему и место? кто тебя учил так составлять запросы?
 

Fr33m

Новичок
т.е. это в SELECT'е оставлять не правильное решение? Чисто чтоб знать, какой аргумент? Никто не учил, такой вариант пришел в первую очередь
 

zerkms

TDD infected
Команда форума
т.е. это в SELECT'е оставлять не правильное решение
оно не неправильное. бывают ситуации, когда нужно делать так, как делаешь ты, но они ОЧЕНЬ редкие.
ps: твой вариант не даёт тебе решения задачи. он правильный или нет, ответь сам?
 

Fr33m

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

zerkms

TDD infected
Команда форума
Fr33m
неужели мой совет из первого комментария непонятен?
в ON нужно добавить ещё одно условие, к уже существующему. и объединить их через AND.
 

Fr33m

Новичок
zerkms, спасибо за время.
Это я уже делал, а как мне тогда найти (общий вес рейтинга сообщения) ? Джоинить еще что нибудь я уже боюсь.
 

zerkms

TDD infected
Команда форума
ещё раз приджоинить, но лучше хранить его просто рядом с сообщением уже вычисленным.
 

Fr33m

Новичок
тьфу блин, точно! zerkms, спасибо большое. Так и сделаю, буду хранить рядом с сообщением.
 
Сверху