Объединение и объединение двух таблиц с разными номерами столбцов и то же имя столбца
Я попытался объединить таблицы, которые представляют собой fus_shift и корневую таблицу, в новую таблицу, которая является окончательной таблицей, но выводит что-то вроде "ОШИБКА в строке 2:
ORA-01789: в блоке запроса неверное количество столбцов результата". Я попытался также присоединиться к таблице в качестве альтернативы, но она также выдает "ОШИБКА в строке 3: ORA-00918: столбец определен неоднозначно". Есть ли другой способ объединить и объединить две таблицы с разным количеством столбцов и с одинаковым именем столбца соответственно? Еще раз спасибо:-)
ошибка кода:
создать финальную таблицу как
выберите * из fus_shift
союз
выберите * из корня;
ошибка кода:
выберите значение record_num,test_num,t_date,t_time,system_type, категорию, комментарии,val
из fus_shiftrpt,root
где record_num=record_num;
мои столы:
fus_shift Table
Record_Num test date time system
-----------------------------------------------------------
1 test15 08-11-12 13:20:01 sys23
2 test17 08-11-03 14:24:00 sys24
3 test13 08-11-13 17:25:04 sys45
4 test15 08-11-14 18:24:00 sys67
5 test16 08-11-15 19:24:06 sys45
root Table
Record_Num category comments validated by
---------------------------------------------------
1 dirt checked admin
2 prog checked admin
3 dirt checked pe
4 wires checked ee
5 prog repair admin
выделенный текст
2 ответа
Вы, конечно, не можете применить "Союз" к вашим столам. Его можно применять только в том случае, если оба запроса возвращают одинаковое количество (и одинакового типа) столбцов.
Вы можете объединить две таблицы, но при объединении необходимо будет использовать "псевдоним таблицы", поскольку поле "record_num" является общим для обеих таблиц. Вот запрос, который будет работать для вас
select
table1.record_num,
table1.test_num,
table1.t_date,
table1.t_time,
table1.system_type,
table2.category,
table2.comments,
table2.val
from
fus_shift table1,root table2
where
table1.record_num = table2.record_num;
Я бы использовал следующий метод:
SELECT *
FROM fus_shift
INNER JOIN root ON root.record_num = fus_shift.record_num