2014-09-19 2 views
0

У меня есть две таблицы, глядя что-то вроде: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: колонок двусмысленна определенной» ошибки

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

+0

Можете ли вы разместить свой SQL-запрос? –

ответ

3

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

SELECT COL_A, COL_B, COL_C FROM Table1 
UNION 
SELECT COL_A, COL_B, 0 As COL_C FROM Table2 
+0

Благодарим за это, AS COL сортирует его, указывая на то же имя столбца. – Casper

+0

Этот ответ действительно приемлем. Но другой ответ by @ jramesh1967 не имеет смысла. –

+0

Проголосовать за этот ответ с моей стороны. –

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 

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

+0

Благодарим за это, AS COL сортирует его, указывая на то же имя столбца. – Casper

+1

@ jramesh1967, 'COL_C'' 'FLOAT' и ** NOT ** строка. Итак, почему у вас есть одинарные кавычки вокруг 'NUMBER 0'? –

+0

@ KPS-UK, почему вы пытаетесь сделать вывод, когда этот ответ поражает цель помочь вам? Также не применяются теги кода, такие непрофессиональные способы ответа на вопрос. –

Смежные вопросы