Oracle UNION不同的列



我有两个表看起来像:

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

基本思想是,两者必须具有相同数量的列,这些列具有相同的对应数据类型。

相关内容

  • 没有找到相关文章

最新更新