【发布时间】:2018-07-05 12:20:00
【问题描述】:
我在 Python 中使用 sqlite 时遇到了一些问题。我有两个加入的表,table1 和 table2,加入了“id”。以下一系列布尔值出现在我的 WHERE 子句中:
...WHERE (table2.word IN ('grapes', 'cherries') GROUP BY
table1.id HAVING COUNT(*) = 2) AND table1.taste = 'sour';
更具体地说,我正在尝试获取 table2 中同时包含“grapes”和“cherries”作为单词的所有匹配项,但不必使用不同的名称两次加入 table2。这就是为什么我使用 IN,然后使用 GROUP BY 和 HAVING COUNT(*) = 2 来隔离出现次数正好等于我想要匹配的水果数量的情况。
但是,我收到以下错误:
OperationalError: near "group": syntax error
我已将问题与我的括号在第一个布尔值中的工作方式隔离开来,并且已经尝试了几个小时来找出原因。当我取出第二个布尔值“AND table2.taste = 'sour'”时,整个查询工作得很好。我应该转移 GROUP BY 并拥有其他地方吗?
【问题讨论】: