I tried to combined tables which is fus_shift and root table into a new table which is final table but it outputs like "ERROR at line 2: ORA-01789: query block has incorrect number of result columns". I tried also joining table as my alternative but it also outputs "ERROR at line 3: ORA-00918: column ambiguously defined". Is there another way to do combining and joining two table with different number of columns and having the same column name respectively? Thanks again:-)
code error:
create table final as
select * from fus_shift
union
select * from root;
我尝试将fus_shift和根表的表组合成一个新表,这是一个新表,但它的输出类似于“第2行的ERROR:ORA-01789:查询块的结果列数不正确”。我尝试将表连接作为我的替代方案,但它也输出“第3行的错误:ORA-00918:列模糊定义”。是否有另一种方法可以组合和连接两个具有不同列数并具有相同列名的表?再次感谢:-) code error:create table final as select * from fus_shift union select * from root;
code error:
select record_num,test_num,t_date,t_time,system_type,category,comments,val
from fus_shiftrpt,root
where record_num=record_num;
代码错误:从fus_shiftrpt中选择record_num,test_num,t_date,t_time,system_type,category,comments,val,其中record_num = record_num;
my tables:
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
emphasized text
2 个解决方案
#1
3
You certainly cannot apply "Union" to your tables. It can be applied only if both queries return same number (and of similar type) of columns.
你当然不能在你的牌桌上申请“联盟”。仅当两个查询返回相同数量(和类似类型)的列时,才能应用它。
You can join the two tables but would have to use "table alias" while joining since "record_num" field is common in both the tables. Here is the query that would work for you
您可以加入这两个表,但在加入时必须使用“表别名”,因为“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;
#2
1
I would use the following method:
我会使用以下方法:
SELECT *
FROM fus_shift
INNER JOIN root ON root.record_num = fus_shift.record_num
#1
3
You certainly cannot apply "Union" to your tables. It can be applied only if both queries return same number (and of similar type) of columns.
你当然不能在你的牌桌上申请“联盟”。仅当两个查询返回相同数量(和类似类型)的列时,才能应用它。
You can join the two tables but would have to use "table alias" while joining since "record_num" field is common in both the tables. Here is the query that would work for you
您可以加入这两个表,但在加入时必须使用“表别名”,因为“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;
#2
1
I would use the following method:
我会使用以下方法:
SELECT *
FROM fus_shift
INNER JOIN root ON root.record_num = fus_shift.record_num