Как выбрать нужные атрибуты из объединения левого и правого соединения - PullRequest
1 голос
/ 26 апреля 2011

У меня есть две таблицы, в которых я не могу выполнить полное внешнее объединение, поэтому я выполняю объединение левого и правого внешнего соединения. каждая таблица имеет атрибуты типа

tableA - one,two,three,four

tableB - one,two,three,four

(SELECT * FROM tableA 
LEFT OUTER JOIN tableB ON 
tableA.two=tableB.two) 
UNION
(SELECT * FROM tableA 
RIGHT OUTER JOIN tableB ON
tableA.two=tableB.two)

1 Ответ

1 голос
/ 26 апреля 2011

Вам просто нужно создать псевдоним таблицы

SELECT a1.one, a1.two, b1.one, b1.two 
FROM tableA a1 
LEFT OUTER JOIN tableB b1 
  ON a1.two=b1.two
UNION
SELECT a2.one, a2.two, b2.one, b2.two
FROM tableA a2 
RIGHT OUTER JOIN tableB b2 
ON a2.two=b2.two;

Кроме того, метод "UNION ALL и исключение JOIN", описанный на этой странице , является более надежным способом реализации FULL OUTER JOIN в MySQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...