두 개의 관련없는 테이블이 있는데 시세로 그 값을 합산하려고합니다.포스트 그레스 : 두 테이블의 합
- 주문 : PRODUCT_ID, 값
- 판매 : PRODUCT_ID, 값 제로 밖으로 모든 균형, 나는 그룹에 원하는 있는지 확인하기 위해
예를 들어
상품 ID별로 주문과 판매를 계산하고 값을 합산합니다.
두 개의 관련없는 테이블이 있는데 시세로 그 값을 합산하려고합니다.포스트 그레스 : 두 테이블의 합
예를 들어
상품 ID별로 주문과 판매를 계산하고 값을 합산합니다.
orders_hash = Order.group(:product_id).sum(:value).sort_by(&:first).to_h
sales_hash = Sale.group(:product_id).sum(:value).sort_by(&:first).to_h
orders_hash == sales_hash
그리고 위의 false
orders_hash.each do |k, v|
raise "Mismatch for product_id: #{k}" unless sales_hash[k] == v
end
우리는 비슷한 것을 보내고 있지만 두 데이터베이스 호출로 인해 좋지 않습니까? –
@AndrewCPKelley 하나의 DB 호출을 통해 관련없는 두 테이블에 대한 계산을 얻는 방법은 무엇입니까? :) 비록 이것이 가능하다면 (그리고 프로그래밍에있어서 불가능한 것은 아무것도 없다.) 가장 순수한 SQL이 될 가능성이 높다. –
나는 네가 한 일을 좋아하지만 평등한지보기보다는 합계를 얻고 싶다. 관련없는 테이블의 합계에 대한 많은 게시물을 보았지만 더 명확하게 조사했습니다. 참조하십시오 : http://stackoverflow.com/questions/13021623/how-to-do-a-sum-across-two-unrelated-tables –
나는 시도하고 도움이되지만 더 정확한 예를 게시하시기 바랍니다 기쁠 것 인 경우에는이 검사를 실행할 수 있습니다. 이것은 게시 된 코멘트를 기반으로하는 오해의 소지가 있습니다. – engineersmnky