Выбор строчки по условию

zip111

Новичок
Выбор строчки по условию

Здравствуйте.

Есть 2 таблицы в базе:

А так же:

messages:
id
from_user
to_user
message
Использую запрос:

SELECT messages . * , users.login
FROM messages
JOIN users ON messages.to_user = users.id
WHERE users.login = 'zip111'
Получаю все то что мне надо, но мне нужно что бы еще выводилось логин пользователя из первой таблицы, ИД которого равен полю from_user из второй таблицы

Как это можно сделать?
 

zip111

Новичок
Дело в том, что обязательно должно быть использоваться ON messages.to_user = users.id
 

tf

крылья рулят
zip111, почему?
и что, я лично не вижу никакой проблемы
а тебе надо заглянуть в мануал по выражениям использумым в WHERE, и внимательно почитать про ON в JOIN
 

zip111

Новичок
Ну а как можно перестроить запрос если мне обязательно надо что бы соблюдалось условие ON messages.to_user = users.id
WHERE users.login = 'zip111' ?
 

Zetruger

ivan.chistyakov.name
я бы сделал так
[sql]SELECT
tu.id AS tu_id, tu.login AS tu_login,
fu.id AS fu_id, fu.login AS fu_login,
m.*
FROM
users tu, messages m, users fu
WHERE
(tu.login = 'zip111') AND (m.to_user = tu.id) AND (fu.id = m.from_user);[/sql]
 

tf

крылья рулят
ON( messages.to_user = users.id OR что?)
WHERE users.login = 'zip111' ?
 
Сверху