我有这个查询来插入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/