如何“插入表1(col1,col2)的值中,从表2中选择col1,从表3中选择col2”

时间:2018-12-22 17:10:41

标签: sql select insert multiple-columns qsqlquery

我在这里有一个问题,是否有可能做到。我有一个名为“ customer”的表,其中有2列“ customer,source”。

我有第二个表,叫做“ balance”,有10多个列,其中一个列叫做“ cname”。

第三个名为info的表也有10多个列,但是只有一行包含公司信息,其中一列称为“ source”。

因此表如下所示:

表格“余额”:

enter image description here

信息表:

enter image description here

所以我想要从上述两个表中插入客户表,因此结果必须像:

enter image description here

我尝试了以下代码,但这给我一个错误

insert into customer values 
    select cname 
    from balance, select source from info

1 个答案:

答案 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);