我无法让下面的查询工作。如果删除查询的最后一行,它将起作用。任何建议都非常感谢。

DELETE FROM "ProjectMaster"
USING "ProjectMaster" ua2
WHERE "ProjectMaster"."EngagementName" = ua2."EngagementName"
AND "ProjectMaster"."ProjectMasterID" < ua2."ProjectMasterID"
AND "CompanyID" = 490 and "ClientID" = 11125

最佳答案

当我在小提琴中运行您的查询时,它会给出:
错误:关系“项目主”不存在
以下是一些可以避免此错误的更改,而不改变逻辑(您实际上没有解释):
将插入的表命名为(ua1
在最后一行的字段前面加上它们所属的表(ua1ua2?)
把这些嘈杂的语录去掉
运行时没有语法错误:

DELETE FROM ProjectMaster ua1
USING ProjectMaster ua2
WHERE
    ua1.EngagementName = ua2.EngagementName
    AND ua1.ClientID = ua2.ClientID
    AND ua1.ProjectMasterID < ua2.ProjectMasterID
    AND ua1.CompanyID = 490 and ua1.ClientID = 11125;

关于postgresql - PostgreSQL:通过CompanyID和CustomerID删除重复的记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54425788/

10-10 16:33