2012-06-29 2 views
0

Мне нужны 3 таблицы, которые все имеют отношение к одной и той же вещи.Можете ли вы влево и вправо присоединиться к mysql

Например, 1 имеет пользовательскую информацию, 1 имеет информацию о странице для этого пользователя, а другая имеет параметры страницы для этого пользователя.

все подключенные через user_id

это можно сделать.

SELECT * 
FROM users 
LEFT JOIN page_info ON users.id=page_info.user_id 
RIGHT JOIN page_settings ON user.id=page_settings.user_id 
WHERE users.id=$id 

или будет я побежден с помощью 2 запросов

Благодарности

ответ

3

Я думаю, вы поняли, что такое LEFT и RIGHT внешнее соединение сделать: чтение A Visual Explanation of SQL Joins.

В вашем случае с таблицей users, приходящей первым (то есть на «левый» из всех остальных), я подозреваю, что вы хотите, чтобы оба соединения были LEFT внешними соединениями? То есть:

SELECT * 
FROM users 
    LEFT JOIN page_info  ON users.id = page_info.user_id 
    LEFT JOIN page_settings ON users.id = page_settings.user_id 
WHERE users.id = $id 
Смежные вопросы