我有两张表看起来像:
TABLE_1
COL_A (int), COL_B (float), COL_C (float)
TABLE_2
COL_A (int), COL_B (float)
我的查询使用 UNION 将这些表的结果放在一起,但在 TABLE_2 没有 COL_C 的地方,我希望放置类似“0”的内容。但我只是得到一个“ORA-00918:列不明确定义”错误
我怎样才能解决这个问题?
你可以试试这个
SELECT COL_A, COL_B, COL_C FROM Table1
UNION
SELECT COL_A, COL_B, 0 As COL_C FROM Table2
SELECT COL_A,COL_B,COL_C FROM TABLE_1
UNION
SELECT COL_A,COL_B,'0' AS COL_C FROM TABLE_2
你也可以逃脱
SELECT COL_A,COL_B,COL_C FROM TABLE_1
UNION
SELECT COL_A,COL_B,'0' FROM TABLE_2
基本思想是两者必须具有相同数量的相同对应数据类型的列。