我试图返回id包含两个关键字。例如,我的数据是:
|fID|keyword|
|1 |word1 |
|1 |word2 |
|2 |word1 |
|3 |word2 |
如果我执行SQL SELECT fID FROM table WHERE keyword = 'word1' AND keyword = 'word2';
它返回0结果匹配我假设因为它希望它们在我想要的时候在同一行中,如果它们都用相同的fID连接。
如果我做OR而不是AND它显示了两者都没有的fID。
我希望结果能够输出fID 1.我一直在各个地方乱搞乱七八糟但却无法取得任何成功。
答案 0 :(得分:0)
未经测试,但您可以尝试这样的事情:
SELECT fID
FROM table
WHERE keyword = 'word1' OR keyword = 'word2'
GROUP BY fID
HAVING COUNT(DISTINCT keyword) = 2