0
私はRails 5アプリケーションを構築しています。 このアプリでは、私が最も好きな5つのアイデアをすべて取得するクエリを得ました。このクエリは私にもゼロの好きなアイデアを与えます。少なくとも私のようなアイデアだけを得たいと思っています。どうすれば変更できますか?クエリを結合するクエリを追加します
Idea.joins("LEFT OUTER JOIN Likes ON likes.likable_id = ideas.id").group("ideas.id").order("COUNT(likes.id) DESC").take(5)
すべてに感謝を
更新
を助けるこれは
Idea.joins("INNER JOIN Likes ON likes.likable_id = ideas.id").group("ideas.id").order("COUNT(likes.id) DESC").take(5)
「LEFT OUTER JOIN」ではなく「INNER JOIN」を使用してみましたか?この方法では、少なくとも1つのアイデアしか得られず、追加のwhere節 –
がうまくいくように見えることはありません!それはなぜ機能するのですか? –
'INNER JOIN'は両方のテーブルで一致する値を持つレコードを選択します。左側のテーブル(table1)からのすべてのレコードと右側のテーブル(table2)からの一致したレコードを返します。一致がなければ、右側から結果はNULLになります。 –