作为我正在寻找的示例,请考虑以下示例水果表
id user_id fruit type
1 43 apple fresh
2 87 watermelon fresh
3 99 apple fresh
4 43 pineapple dried
5 60 pineapple dried
6 60 lemon fresh
7 99 kiwi fresh
8 43 mango fresh
我想在同一个表中找到所有同时拥有“apple”和“dried”的用户的所有记录(不一定同时在同一行)。同一个用户必须同时具备这两个条件。
我想要返回的是:
id user_id fruit type
1 43 apple fresh
4 43 pineapple dried
我尝试了几种自连接组合:
SELECT distinct f1.*, f2.*
FROM orders f1 FULL JOIN orders f2
ON f1.user_id = f2.user_id
WHERE f1.fruit ILIKE 'apple'
AND f2.type ILIKE 'dried'
但一直没能完全正确。
这是针对 Rails 应用程序的,所以我希望能够使用 ActiveRecord 来执行此操作,但如果需要,我会对纯 SQL 感到满意。
关于如何做到这一点的任何建议?TIA