擅长:python、mysql、java
<p>原始查询的问题(除了隐式连接语法外),是因为您将连接中的许多行合并在一起。然后进行聚合以删除重复项。在</p>
<p>只需从一个表中选择,就可以消除重复删除:</p>
<pre><code>SELECT p.*
FROM percept p
WHERE EXISTS (SELECT 1
FROM annotation a JOIN
annotation_property ap
ON ap.annotation_id = a.id AND
ap.name = 'FOO' AND ap.value = 'BAR'
WHERE p.id = a.percept_id
) ;
</code></pre>
<p>这假设<code>percept</code>中的行没有重复项,但这似乎是一个合理的假设。在</p>