我有这个查询来插入mytab中不存在的数据

 INSERT INTO mytab SELECT * FROM temptab
  WHERE NOT EXIST (SELECT  * FROM mytab WHERE
    (mytab .col1= temptab .col1 AND mytab .col2=temptab .col2))

我想知道是否有其他方法来编写这个查询的条件部分,即最后一条语句。
上面的查询工作得非常好,但是当匹配更多的列时会变得太长。所以我想如果有什么形式
 mytab.(col1,col2,...,coln)=temptab.(col1,col2,...,coln)

我需要匹配这么多列,因为这些作品的组合作为我的表的主键。Similary还有更多的表。
任何意见都可以。
附言:不要犹豫,要改进这个问题。

最佳答案

你可以这样写:

(mytab.col1, mytab.col2) = (temptab.col1, temptab.col2)

关于postgresql - PostgreSQL在表之间匹配多个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8700318/

10-11 04:24