我无法使用以下查询。如果删除查询的最后一行,它将起作用。任何建议都将不胜感激。
DELETE FROM "ProjectMaster"
USING "ProjectMaster" ua2
WHERE "ProjectMaster"."EngagementName" = ua2."EngagementName"
AND "ProjectMaster"."ProjectMasterID" < ua2."ProjectMasterID"
AND "CompanyID" = 490 and "ClientID" = 11125
答案 0 :(得分:0)
我在想这样的事情:
DELETE FROM "ProjectMaster"
WHERE "CompanyID" = 490 and "ClientID" = 11125 AND
"ProjectMasterID" < (SELECT MAX(pm2."ProjectMasterID"
FROM "ProjectMaster" pm2
WHERE pm2."CompanyID" = "ProjectMaster"."CompanyID" AND
pm2."ClientID" = "ProjectMaster"."ClientID"
);
也就是说,相关性与公司和客户有关,而不与所谓的参与有关。这是基于我对问题标题的解释。
答案 1 :(得分:0)
当我在小提琴中运行您的查询时,它给了我:
错误:关系“ ProjectMaster”不存在
在不更改逻辑(您没有实际解释)的情况下,可以进行一些更改来避免此错误:
ua1
)的表添加别名ua1
或ua2
?)此命令运行时没有语法错误:
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;