内部結合を実行しようとしているテーブルが2つあります。
1つはusers
、主キーがであるテーブルですid
。
もう1つのテーブルは、外部キーがbars
どこにあるかです。また、テーブルへの外部キーであるwhereという列もあります。user_id
bars
foo_id
food_id
foos
N日前またはそれ以前に作成されたすべてのユーザーを選択できるActiveRecordクエリをまとめようとしていますが、特定のIDに等しいfoos
場所はありません。bars.foo_id
私はこのようなことをしてみました:
users = User.where("users.created_at <= ?", 50.days.ago).joins(:bars).where("bars.foo_id != 5")
このクエリは30,000を超える結果をフィールドしますが、これは正しくないため、Usersテーブルには12,000行しかありません。
私はここで何を間違っているのですか?