我在下面的delete命令中尝试过,但是我不知道为什么它不起作用:
DELETE FROM beteg
WHERE beteg.taj IN (
SELECT beteg.taj COUNT (ellatas.id) as "ellátások száma"
FROM ellatas RIGHT JOIN beteg ON ellatas.beteg = beteg.taj
WHERE "ellátások száma" = 0
);
答案 0 :(得分:0)
我怀疑您想要
delete from beteg
where not exists (select 1
from ellatas e
where e.beteg = beteg.taj
);
这将删除beteg
中ellatas
中没有相应行的所有内容。
您的查询有多个问题:
where
子句中使用了列别名。IN
,在子查询中有两列,在外部查询中有两列。GROUP BY
,但是正在使用COUNT()
。在任何情况下,以上查询都更简单,并且应该具有更好的性能。