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: столбец неоднозначно определен"

Как я могу обойти это?

2 ответа

Решение

Вы можете попробовать это

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

Основная идея заключается в том, что оба должны иметь одинаковое количество столбцов одинаковых соответствующих типов данных.

Другие вопросы по тегам