我在这里有一个问题,是否有可能做到。我有一个名为“ customer”的表,其中有2列“ customer,source”。
我有第二个表,叫做“ balance”,有10多个列,其中一个列叫做“ cname”。
第三个名为info的表也有10多个列,但是只有一行包含公司信息,其中一列称为“ source”。
因此表如下所示:
表格“余额”:
信息表:
所以我想要从上述两个表中插入客户表,因此结果必须像:
我尝试了以下代码,但这给我一个错误
insert into customer values
select cname
from balance, select source from info
答案 0 :(得分:1)
您只想要一个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);