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

我将如何设计“Active Record Query Interface”来像第一个表一样找到“正确答案”?我正在使用 Rails 框架和 MySQL。

4

0 回答 0