【发布时间】:2016-03-16 16:54:03
【问题描述】:
如何加入产品及其特点
我有两张桌子。 产品(id、标题、价格、created_at、updated_at 等) 和 ProductCharacteristic(id、product_id、sold_quantity、date、craated_at、updated_at 等)。
我应该在一段时间内显示产品表(标题是 product.id、product.title、product.price、sold_quantity),并按标题中的任何字段排序。
而且我不能写查询
现在我有以下查询
> current_project.products.includes(:product_characteristics).group('products.id').pluck(:title, 'SUM(product_characteristics.sold_quantity) AS sold_quantity')
(45.4ms) SELECT "products"."title", SUM(product_characteristics.sold_quantity) AS sold_quantity FROM "products" LEFT OUTER JOIN "product_characteristics" ON "product_characteristics"."product_id" = "products"."id" WHERE "products"."project_id" = $1 GROUP BY products.id [["project_id", 20]]
请帮助我通过 orm 编写查询(添加 where 日期和排序)或编写原始 sql 查询。
我用采摘。它返回数组数组(不是哈希数组)。这当然不是很好。
product_characteristics.date 字段在 product_id 范围内是唯一的。但是请给我两个例子(有这个条件和没有它以满足我的好奇心)。
我使用 postgresql 和 rails 4.2.x 附言顺便说一下,ProductCharacteristic 表会有很多记录(超过一百万)。我应该使用 postgresql 表分区吗?它可以提高性能吗?
谢谢。
【问题讨论】:
标签: sql ruby-on-rails postgresql activerecord orm