0

こんにちは、私は SQL を練習しようとしています。これは、実際のモデルではなく、コンソールで使用するためのものです。私はそのCollectionモデルを持っていhas_many: productsます。15 を超える製品を含むすべてのコレクションを検索したいと考えています。

これは私が書いたものです(そして間違っています):

Collection.find_by_sql("SELECT c.id FROM collections c WHERE count(product_id) > 15")

誰でも私を助けることができますか?ありがとう

4

2 に答える 2

0

サブクエリでこれを行うことができます:

SELECT *,
  (SELECT COUNT(*) FROM services WHERE collection_id = c.id) services_count
FROM collections c WHERE services_count > 15

あなたはこれを試すことができますか?, 私はそれをテストしていません.

また、Active Record を使用してプレーン SQL を使用せずにこれを行う方法もありますが、その方法を覚えていません。

于 2013-05-15T16:15:06.617 に答える