2015-06-10 7 views
0

Я пытаюсь выполнить этот запрос. Я не пытаюсь использовать ключевое слово ON, потому что я хочу вернуть все строки из всех трех таблиц в виде одной таблицы.Не удается выполнить полное внешнее соединение?

SELECT Catalogue, Descriptionx, Quantity FROM pxxxA 
FULL OUTER JOIN 
pxxxB 
FULL OUTER JOIN 
pxxxC 

Это сообщение «Неправильный синтаксис рядом с« pxxxC ».»

ответ

1

Вы по-прежнему должны включать в себя инструкцию ON, полное внешнее соединение будет включать в себя все, что соответствует или нет.

SELECT Catalogue, Descriptionx, Quantity 
FROM pxxxA 
FULL OUTER JOIN 
pxxxB 
ON pxxxA.column = pxxxB.column, etc. 
FULL OUTER JOIN 
pxxxC 
ON pxxxB.column - pxxxC.column, etc. 
0

Когда вы говорите «я хочу, чтобы вернуть все строки из всех 3-х таблиц в одну таблицу.», Если у вас есть

Таблица 1 со строками 1 и 2 и в таблице 2 с рядами А и В , вы хотите полный набор из четырех возможных комбинаций? «1 A, 1 B, 2 A, 2 B?»

Или два ряда, как если бы вы просто выстроили столы рядом друг с другом? «1 A, 2 B»?

Если полный набор комбинаций, то CROSS JOIN - это то, что вы хотите. В противном случае вам нужно указать критерии соединения для внешнего соединения для выравнивания строк.

Смежные вопросы