SQL查询从另一个sql查询的结果执行insert语句

时间:2010-11-29 11:17:00

标签: sql

当没有找到记录时,我必须插入表格。是否可以只使用sql查询。我试着用case和if。

2 个答案:

答案 0 :(得分:3)

只需将'IF'的条件添加到INSERT的WHERE中,例如

INSERT INTO People
(FirstName,LastName,Email)
SELECT @FirstName,@LastName,@Email WHERE @Email NOT IN (SELECT Email FROM People)

如果表格中已存在电子邮件地址,则SELECT将不返回任何行,因此不会进行插入

答案 1 :(得分:1)

怎么样:

insert into table1 
   (select * from table2 where id not in
      (select id from table1))