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

programmer_2006

Новичок
Помогите составить запрос.

Добрый всем день нужна помощь при составлении запроса.И так к делу.

Есть 3 таблициы.
1) users | id_user, login, position, access
2) projects | id, creater_id (идентификатор юзера из 1 таблици),name
3) users_projects | id, project_id(идентификатор со 2 таблици), user_id(идентификатор с первой таблици)

Нужно получить таблицу вида

login(логин человека из таблици 3) | position | name | login(логин человека из таблицы 2)

Получается что, если у человека нет записей в 2 и 3 таблици мы оставляем пустыми эти поля, если есть заполняем.
Заранее благодарен.

-~{}~ 22.12.06 13:30:

Это мой вариант но мне нужно что логины тех у кого нет записей тоже отображались.
SELECT u1.login, u1.position, projects.name, u2.login
FROM users AS u1, users_projects, users AS u2, projects
WHERE u2.id_user = projects.creater_id
AND projects.id = users_projects.project_id
AND u1.access =1
AND u1.id_user = users_projects.user_id
GROUP BY u1.login

-~{}~ 22.12.06 13:34:

Я знаю что необходим left join.Вот с left join и не получается у меня может я его как то не правильно применяю, я его вообще мало применял и и то для простых запросов.
Помогите правильно сделать запрос, а в следующий раз я уже сам справлюсь.

-~{}~ 22.12.06 13:41:

На гугле тоже простые примеры, вот куда мне после допустим строки
FROM users AS u1 left join users_projects on u1.id_user = users_projects.user_id По идее так потом можно писать Where, а куда пихать други таблицы которые я использую для группировки?????
 

kos

Новичок
programmer_2006
если я правильно тебя понял
[sql]
SELECT users.login,users.position, projects.name, u.login
FROM users
LEFT JOIN users_projects ON users.id_user = users_projects.user_id
LEFT JOIN projects ON projects.id = users_projects.project_id
LEFT JOIN user AS u ON u.id_user = projects.creater_id
[/sql]
 

programmer_2006

Новичок
Автор оригинала: kos
programmer_2006
если я правильно тебя понял
[sql]
SELECT users.login,users.position, projects.name, u.login
FROM users
LEFT JOIN users_projects ON users.id_user = users_projects.user_id
LEFT JOIN projects ON projects.id = users_projects.project_id
LEFT JOIN user AS u ON u.id_user = projects.creater_id
[/sql]
Спасибо :) Это то что нужно.:D
 
Сверху