私が探しているものの例として、次の例を考えてみてください Fruits テーブル
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
同じテーブルに「リンゴ」と「乾燥」の両方があるすべてのユーザーのすべてのレコードを検索したい (同時に同じ行にあるとは限らない)。同じユーザーが両方の条件を持っている必要があります。
私が返したいのは:
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 で満足しています。
これを行う方法について何か提案はありますか? ティア