SQL 插入到具有 2 个条件的 Select 语句中

Posted

技术标签:

【中文标题】SQL 插入到具有 2 个条件的 Select 语句中【英文标题】:SQL Insert Into Select Statement With 2 Criteria 【发布时间】:2017-02-10 04:32:45 【问题描述】:

我有像图片一样的 tableA、tableB 和 tableC。 TableC 假设为空。如何使用 Insert Into Select 语句将数据插入到 tableC 中?

tableB 中的数据 tableC 与 tableA 中的 contition。

我可以用光标来做。

【问题讨论】:

你可以张贴表格而不是图片.. 试试这个***.com/a/25971/7036750 【参考方案1】:

如果可能,您应该尽量避免对这些类型的插入使用游标 :)(在集合中思考)

这是一种方法:

insert
into TableC(ColA, ColB, ColC)
select a.ColA, a.ColB, a.ColC
from TableA a
join TableB b on b.ColA = a.ColA and b.ColB = a.ColB

【讨论】:

【参考方案2】:

请尝试以下查询。

    insert into tablec(cola , colb , colc ) 
    select b.cola, b.colb, a.colc from tableb b, tablea a 
    where a.cola = b.cola and a.colb = b.colb;

【讨论】:

以上是关于SQL 插入到具有 2 个条件的 Select 语句中的主要内容,如果未能解决你的问题,请参考以下文章

SQL 查询存在且不存在

SQL语句的效率问题

具有 into 关键字的动态 SQL Select 语句

将一个表的查询结果插入到另一个表中(oracle、mysql、sql 、GP)

使用select将多行插入表中,但是表在oracle SQL中具有主键[重复]

sql mysql批量插入,具有重复键更新(upsert),并具有条件数据更新