将多个表中的行添加到新表sql时出现问题
我正在使用toad for oracle,我想从多个表中获取数据并将它们插入到一个新表中 这是我的剧本:将多个表中的行添加到新表sql时出现问题,sql,oracle,toad,Sql,Oracle,Toad,我正在使用toad for oracle,我想从多个表中获取数据并将它们插入到一个新表中 这是我的剧本: insert into mydb.testTable2 (FAO, Company, Cost_Center, Description) select (select FAO from bigdb.wtags), (select DESCRIPTOR from bigdb.wtags), (select cost_center from bigdb.MASTERF
insert into mydb.testTable2 (FAO, Company, Cost_Center, Description)
select (select FAO from bigdb.wtags),
(select DESCRIPTOR from bigdb.wtags),
(select cost_center from bigdb.MASTERFILE),
''
from bigdb.wtags join bigdb.masterfile on bigdb.wtags.fao = bigdb.MASTERFILE.workday_number
我得到一个错误:
table or view does not exist
我一直在www.w3schools.com上阅读sql,它说insert into语句用于创建新表。
不能使用多个数据源创建新表吗
另外,我是否可以将从同一个表中获取的两条select语句合并为一行?
我试过了,但它给了我一个错误:太多的值和缺少的表达式。
这可能是由于另一个错误造成的吗?表或视图不存在意味着您在SQL中指定的表或视图在数据库中不存在或存在,但您没有访问它的权限
这意味着以下其中一项不存在:
mydb.testTable2
bigdb.wtags
bigdb.MASTERFILE
除此之外,您的查询结构没有真正意义。正如本文所述,您正在查询bigdb.wtags和bigdb.masterfile,但不使用任何结果-而是尝试从其他三个单独的查询中插入。我怀疑你想做的是:
insert into mydb.testTable2 (FAO, Company, Cost_Center, Description)
select bigdb.wtags.FAO,
bigdb.wtags.DESCRIPTOR,
bigdb.MASTERFILE.cost_center,
null
from bigdb.wtags
join bigdb.masterfile
on bigdb.wtags.fao = bigdb.MASTERFILE.workday_number
如果要创建表作为insert的一部分,语法略有不同:
create table mydb.testTable2 as
select bigdb.wtags.FAO,
bigdb.wtags.DESCRIPTOR,
bigdb.MASTERFILE.cost_center,
null description
from bigdb.wtags
join bigdb.masterfile
on bigdb.wtags.fao = bigdb.MASTERFILE.workday_number
创建表的代码工作正常。唯一的问题是我必须删除空描述行,否则它将抛出一个长度为零的列不允许错误。谢谢