sql - 从一个表中选择行并插入到另一表中

标签 sql sql-server tsql

从table1中选择table2中不存在的行并将其插入到table2中

喜欢

图片

id  type    name
502  1      summer.gif

SEO图片

id      idimage ... ...
1000    501     ... ...

现在我想从 Images 表中选择 id 与 idimage SEOImages 表不匹配的所有行,并将这些行插入 SEOImages表。

最佳答案

方法:

Insert into Table2
select A,B,C,....
  from Table1
 Where Not Exists (select * 
                 from table2 
                where Your_where_clause)

示例:

SQLFiddelDemo

Create table Images(id int,
                    type int,
                    name varchar(20));
Create table SEOImages(id int,
                       idimage int);

insert into Images values(502,1,'Summer.gif');
insert into Images values(503,1,'Summer.gif');
insert into Images values(504,1,'Summer.gif');
insert into SEOImages values(1000,501);
insert into SEOImages values(1000,502);
insert into SEOImages values(1000,503);

insert into SEOImages
select 1000,id
  from Images I
 where not exists (select * 
                  from SEOImages
                  where idimage =I.id);

关于sql - 从一个表中选择行并插入到另一表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17485272/

相关文章:

sql - Crystal Reports - 促进正面/背面打印

php - 通过点击不同的按钮显示不同的表格

c# - 使用 C# 创建新的 sql server 表

sql - TSQL Pivot 4 值列

sql - 使用 SQL Server 在 UNION 中过滤重复项

sql-server - sql server 多列索引查询

sql - 我在哪里可以找到/学习行业标准 SQL 约定?

sql - "Denali"是 SQL Server 的下一个版本吗?

sql-server - 在父/子查询中对 SQL Server 中的父项进行分页

sql - SQL中如何使用 'like'运算符?