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

  • Автор темы Автор темы zip111
  • Дата начала Дата начала

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 из второй таблицы

Как это можно сделать?
 
Дело в том, что обязательно должно быть использоваться ON messages.to_user = users.id
 
zip111, почему?
и что, я лично не вижу никакой проблемы
а тебе надо заглянуть в мануал по выражениям использумым в WHERE, и внимательно почитать про ON в JOIN
 
Ну а как можно перестроить запрос если мне обязательно надо что бы соблюдалось условие ON messages.to_user = users.id
WHERE users.login = 'zip111' ?
 
я бы сделал так
[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]
 
ON( messages.to_user = users.id OR что?)
WHERE users.login = 'zip111' ?
 
Сверху