0
테이블은 다음과 같이PostgreSQL의에서 전체 항목의 합계를 얻기
Orders
-----------
user_id
state
Items
-----------
order_id
product_id
total
Products
----------
user_id
Users
---------
name
email
관계는 다음과 같습니다
User
has_many :products
Order
has_many :items
belongs_to :users
Product
has_many :items
belongs_to :user
Item
belongs_to :items
나는 제품을 소유 한 사용자 당 items.total의 합을 얻으려면
현재 다음 SQL 문이 있습니다.
SELECT *, SUM(items.total) as totalprice
FROM "orders"
INNER JOIN "items" ON "items"."order_id" = "orders"."id"
INNER JOIN "products" ON "products"."id" = "items"."product_id"
INNER JOIN "users" ON "users"."id" = "products"."user_id"
WHERE "orders"."state" = 'complete'
GROUP BY users.id
,
또는
Order.complete.joins(:items => {:product => :user}).select("*, SUM(items.total) as totalprice").group('users.id')
위에서 작동하지 않습니다. 이 일이 쉬워야한다고 생각합니다.
"*이 작동하지 않는 선으로 선택 라인과 그룹에 추가 할 수 있습니다 * "유효한 Postgres 오류 메시지가 아닙니다. –
PG :: 오류 : 오류 : 현재 트랜잭션이 중단되고 트랜잭션 블록이 끝날 때까지 명령이 무시됩니다. <- this error –
쿼리와 관련된 오류 메시지가 아닙니다. 이전 오류의 결과입니다. –