我有一个查询来选择所有未投票给ProProposalBundle:Proposal'Vote
的提案。v.decision
中可能存在"not_voted"
值,也可能不存在。这就是我使用NOT EXIST
的原因。
SELECT p
FROM ProProposalBundle:Proposal p
INNER JOIN ProProposalBundle:Proposal'Vote v
WITH v.proposal = p
AND (v.decision = 'not_voted' OR NOT EXISTS (SELECT v FROM v WHERE v.user = {$user}))
WHERE p.community = {$community}
但它给我返回了一个错误:
[Semantical Error] line 0, col 181 near 'v WHERE v.user': Error: Class 'v' is not defined.
它与NOT EXISTS
部分有关,其中v
是以前理论上定义的。我也尝试过:
... NOT EXISTS (SELECT v FROM ProProposalBundle:Proposal'Vote v WHERE v.user = {$user}))
但现在我得到了:
[Semantical Error] line 0, col 220 near 'v WHERE v.user': Error: 'v' is already defined.
你知道我做错了什么吗?
尝试
NOT EXISTS (SELECT * FROM ProProposalBundle:Proposal'Vote v WHERE v.user = {$user}))