代码之家  ›  专栏  ›  技术社区  ›  Dead Programmer

执行来自另一个SQL查询结果的INSERT语句的SQL查询

sql
  •  0
  • Dead Programmer  · 技术社区  · 14 年前

    伙计们,我必须在找不到记录的情况下插入到表中。是否可以只使用SQL查询来完成。我试过这个案子。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Joel Mansford    14 年前

    例如,只需将“if”的条件添加到插入的位置

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

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

        2
  •  1
  •   ceth    14 年前

    怎么样:

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