0

MySQLの私のテーブルORDER、およびクラスの順序:has_many:product

id     +     name    +     price  +   amount   +  product_id
1      |     orde    |    100     |     5      |    1
2      |     orde    |    50      |     2      |    2
3      |     orde    |    -100    |     -2     |    1

私はこのような答えを見つけたいです:

**"Right Answer"**
id     +    name    +    price   +   amount   +   product_id
1      |    orde    |    100     |     3      |     1
2      |    orde    |    50      |     2      |     2

列「amount」に加えて、列「product_id」が同じproduct_idを持っていた場合、amount =(id:1)amount +(id:3)amount=3のようになります。

私が使うとき:

@order.group(:product_id).sum(:amount)

MySQLの答えは:

 amount   +    product_id
  3       |      1
  2       |      2

そして私が使うとき:

@order.group(:product_id)

MySQLの答えは:

id     +     name    +   price   +   amount   +  product_id
1      |     orde    |   -100    |     -2     |    1
2      |     orde    |    50     |      2     |    2

最初の表のような「正解」を見つけるために、「アクティブレコードクエリインターフェイス」をどのように設計しますか?RailsフレームワークとMySQLを使用しています。

4

0 に答える 0