【发布时间】:2015-07-13 10:30:42
【问题描述】:
我想从我的商店中选择最近的 4 笔交易,具有 has_and_belongs_to_many 关系,我收到此错误:
表“stores”有一个条目,但无法从中引用 这部分查询
class Deal < ActiveRecord::Base
has_and_belongs_to_many :stores
end
class Store < ActiveRecord::Base
has_and_belongs_to_many :deals
end
我的查询
SELECT * FROM (SELECT stores.id AS store_id, deals.*,
dense_rank() OVER (
PARTITION BY deals.stores.id
ORDER BY deals.created_at DESC
) AS deal_rank
FROM "deals"
INNER JOIN "listings"
ON "listings"."deal_id" = "deals"."id"
INNER JOIN "images"
ON "images"."id" = "deals"."image_id"
INNER JOIN "deals_stores"
ON "deals_stores"."deal_id" = "deals"."id"
INNER JOIN "stores"
ON "stores"."id" = "deals_stores"."store_id"
ORDER BY deals.created_at desc)
AS ranked_deals
WHERE (deal_rank <= 4)
【问题讨论】:
-
您也可以发布您的表定义吗?这部分是否正确:deals.stores.id
标签: ruby-on-rails postgresql activerecord