아래에이 조인 쿼리가 있습니다. 나는 그것에 하나의 문제가있다. 배송 된 단위 열이 잘못 나옵니다. 단지 총 항목 수입니다. 문제는 배송 된 필드를 제외한 모든 항목이 공통적 인 두 세트의 개체를 계산하는 것입니다.postgres sql 쿼리 개체의 두 세트를 계산
SELECT count(*) as "units", (select count("EsnsVmas".*) from "EsnsVmas" where
"EsnsVmas"."shipped" = false AND "EsnsVmas"."VmaId" = 2 AND "EsnsVmas"."approved" =
true) as "shippedUnits", "Vmas".*, "Vendors"."name" as "name", "EsnsVmas".id as
"OrderItemId", "PurchaseOrderItems"."price", "Grades"."name" as "vendorGrade",
"Items"."name" as "model", "Items".id as "ItemId", "Grades".id as "GradeId"
FROM "Vmas"
JOIN "EsnsVmas" on ("EsnsVmas"."VmaId" = "Vmas".id)
JOIN "Esns" on ("EsnsVmas"."EsnId" = "Esns".id)
JOIN "PurchaseOrderItems" on ("Esns"."PurchaseOrderItemId" =
"PurchaseOrderItems".id)
JOIN "Items" on ("PurchaseOrderItems"."ItemId" = "Items".id)
JOIN "Grades" on ("PurchaseOrderItems"."GradeId" = "Grades".id)
JOIN "Vendors" on ("Vmas"."VendorId" = "Vendors".id)
WHERE "Vmas".id =2 AND "EsnsVmas"."approved" = true
GROUP BY "Vmas".id, "PurchaseOrderItems".id, "Grades".id, "Items".id, "Vendors".id, "EsnsVmas".id ;
shippedUnits와 외부 쿼리에 대한 쿼리 간에는 관계가 없습니다. 즉, 모든 행에서 동일한 값을 생성합니다. 그것이 그것이하기로되어있는 것입니까? 또는 하위 쿼리가 행마다 달라지기로되어 있습니까? – jcern
행마다 달라질 것으로 예상됩니다. ShippedUnits는 승인되고 배송 된 EsnsVmas 일뿐입니다. 단위는 승인되고 배송되지 않는 EsvVmas입니다. 관계에 대한 요점은 실제로 정확합니다. 그러나 그것은 단지 질문을 수정하고 내가 필요하다고 생각한 다른 조인과 필드를 꺼내기 때문입니다. – user1175817
다시 추가해야합니까? 또는이 방법으로 조인을 사용하여 해당 필드를 두 번 계산하는 방법에 대한 질문에 대답 할 수 있습니다. – user1175817