У меня есть table_A
, который имеет набор колонке A1
, A2
и TABLE_B, который имеет множество столбцов B1
, B2
SQL: Союз двух таблиц, которые не имеют полное совпадение столбцов
Это случается, что A2=B1
но остальные столбцы не совпадают (и не должны). Я хотел бы добавить таблицу, поэтому я использую UNION ALL
Для не колоннах согласующих, я использую null as COLUMN_NAME
, по обе стороны от UNION
заявления
CREATE VIEW MY_VIEW AS
SELECT
TABLE_A.A1,
TABLE_A.A2,
null as B2
from TABLE_A
union all
SELECT
null as A1,
TABLE_B.B1 as A2,
TABLE_B.B2 as B2
from TABLE_B;
который выводит следующее сообщение об ошибке:
Error report: SQL Error: ORA-01790: expression must have same datatype as corresponding expression 01790. 00000 - "expression must have same datatype as corresponding expression"
Это из-за нулей?
проблема заключается в том, что вы разместили столбцы в другом порядке, в каждой половине союза. Столбцы должны совпадать в том же порядке между двумя половинами. – chridam
Не могу сказать, предполагаем ли мы, что типы a2 и b1 одинаковы. –
они такого же типа – Stephane