Я пытаюсь получить данные из 3 таблиц, но я думаю, что мне нужно использовать внутреннее соединение (для соединения TABLE1 и TABLE2) и правое внешнее соединение, потому что мне нужна вся информация из TABLE3, но я не знаю, как это сделать Это. Я попытался это:
select a.TABLE1_ID, e.TABLE2_ID,f.TABLE3_ID
from TABLE1 as a, TABLE2 as e, TABLE3 as f
where a.TABLE1_ID = e.TABLE2_ID and a.TABLE1_COL = f.TABLE3_ID
UNION ALL
SELECT f.TABLE3_ID, NULL
FROM TABLE3 as f
WHERE NOT EXISTS (
SELECT * FROM TABLE1 as a
WHERE a.TABLE1_COL = f.TABLE3_ID);
Но я получаю следующую ошибку: Операнды оператора набора или предложение VALUES не имеют одинаковое количество столбцов .. SQLCODE = -421, SQLSTATE = 42826, ДРАЙВЕР = 4.19.56
Как я могу это сделать? Возможно ли это?
** РЕДАКТИРОВАТЬ: Вот результат, который я хотел бы получить:
a.TABLE1_ID | e.TABLE2_ID | f.TABLE3_ID
----------------------------------------
AFR123 | AFR123 | MM145FR123
AFR124 | AFR124 | MM145FR124
NULL | NULL | MM145FR125
NULL | NULL | MM145FR126