2015-09-17 3 views
0

У меня есть 2 таблицы, которые я хочу сделать их полным внешним соединением.Полное внешнее соединение на mysql?

Я использую следующий запрос:

select * from permissions 
left join user_news_permission on permissions.userID = user_news_permission.userID 
union 
select * from permissions 
right join user_news_permission on permissions.userID = user_news_permission.userID 

но это делает два USERID столбцы, некоторые являются недействительными и некоторые нет.

Как я могу сделать это одним столбцом userID, что все они не являются нулевыми?

+0

Что вы пытаетесь достичь? Ожидается, что пользовательские идентификаторы «NULL» будут использоваться, когда вы используете «полное внешнее соединение», поэтому ваш вопрос не имеет смысла. Примеры данных и желаемые результаты могут помочь. –

ответ

0

Когда вы делаете левое соединение, любые записи, найденные в левой таблице, но не в правой таблице, приведут к тому, что все столбцы в правой таблице заменяются нулями (и наоборот для правильного объединения).

Если вы видите нули, либо запись в левой таблице существует с заданным идентификатором пользователя, который не существует в правой таблице, либо существует запись в правой таблице, которая не существует в левой таблице.

Если вы ищете идентификаторы пользователей из permissions и любой информации из user_news_permission, бывшего половина союза достаточно:

select * from permissions 
left join user_news_permission on permissions.userID = user_news_permission.userID 

Если вы ищете идентификаторы пользователей из user_news_permission и любой информации от permissions, вторая половина союза достаточно:

select * from permissions 
right join user_news_permission on permissions.userID = user_news_permission.userID 

Если вы просто заботиться о пользователях в одном столе, join не является необходимым. Просто выберите все записи из этой таблицы.

0

Я не профессионал, но попробовать это

SELECT* FROM permissions 
RIGHT JOIN user_news_permission 
ON permissions.userID = user_news_permission.userID; 
Смежные вопросы