如何 "insert into table1 (col1, col2) values select col1 from table2 , select col2 from table3"
How to "insert into table1 (col1, col2) values select col1 from table2 , select col2 from table3"
好吧,如果可以的话,我有一个问题。我有一个名为 "customer" 的 table,有 2 列 "customer, source"。
我有第二个 table 叫做 "balance" 有超过 10 列,其中一列叫做 "cname"。
而第 3 个 table 称为 info 也有 10 多列,但只有一行包含公司信息,其中一列称为 "source"。
因此 table 如下所示:
Table "balance":
信息table:
所以我想要的是从上面的两个 table 插入客户 table 所以结果必须是这样的:
我试过下面的代码,但它给我一个错误
insert into customer values
select cname
from balance, select source from info
你只想要一个 cross join
吗?
select b.cname, i.source
from balance b cross join
info i;
对于insert
,你会做:
insert into customers (customer, source)
select b.cname, i.source
from balance b cross join
info i;
编辑(供您评论):
insert into customers (customer, source)
select b.cname, i.source
from balance b cross join
info i
where not exists (select 1 from customers c where c.customer = b.cname);
好吧,如果可以的话,我有一个问题。我有一个名为 "customer" 的 table,有 2 列 "customer, source"。
我有第二个 table 叫做 "balance" 有超过 10 列,其中一列叫做 "cname"。
而第 3 个 table 称为 info 也有 10 多列,但只有一行包含公司信息,其中一列称为 "source"。
因此 table 如下所示:
Table "balance":
信息table:
所以我想要的是从上面的两个 table 插入客户 table 所以结果必须是这样的:
我试过下面的代码,但它给我一个错误
insert into customer values
select cname
from balance, select source from info
你只想要一个 cross join
吗?
select b.cname, i.source
from balance b cross join
info i;
对于insert
,你会做:
insert into customers (customer, source)
select b.cname, i.source
from balance b cross join
info i;
编辑(供您评论):
insert into customers (customer, source)
select b.cname, i.source
from balance b cross join
info i
where not exists (select 1 from customers c where c.customer = b.cname);