1

次のような2つのテーブルがあります。

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: 列があいまいに定義されています」というエラーが表示されます

どうすればこれを回避できますか?

4

2 に答える 2

4

これを試すことができます

SELECT COL_A, COL_B, COL_C FROM Table1
UNION
SELECT COL_A, COL_B, 0 As COL_C FROM Table2
于 2014-09-19T13:54:44.173 に答える
1
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

基本的な考え方は、両方が同じ対応するデータ型の同じ数の列を持つ必要があるということです。

于 2014-09-19T14:01:09.903 に答える