0
두 테이블을 결합하는 데 문제가 있습니다. 계속해서 내 값 "qtyFulfillable"을 곱합니다.MySQL Join 결과에 곱하기
첫째, 나는이 쿼리를 실행할 때, 나는 정확한 결과를 얻을 : sumQF = 85
SELECT fbai.id,
fbai.sku,
CASE WHEN SUM(fbai.qtyFulfillable) > 0 THEN SUM(fbai.qtyFulfillable) ELSE 0 END AS sumQF
FROM FBAInventory fbai
WHERE fbai.fbaInventoryReport_id = 62010
AND fbai.sku = 'ELO-250030'
GROUP BY fbai.id
ORDER BY sumQF DESC
하지만 조인에 추가하기 시작할 때, 지금 얻을 : sumQF = 14110
을SELECT fbai.id,
fbai.sku,
CASE WHEN SUM(fbai.qtyFulfillable) > 0 THEN SUM(fbai.qtyFulfillable) ELSE 0 END AS sumQF,
CASE WHEN SUM(fbas.quantityShipped) > 0 THEN SUM(fbas.quantityShipped) ELSE 0 END as sumQS
FROM FBAInventory fbai
LEFT JOIN FBAShipment fbas
ON fbai.sku = fbas.sku
WHERE fbai.fbaInventoryReport_id = 62010
AND fbai.sku = 'ELO-250030'
GROUP BY fbai.id
ORDER BY sumQF DESC
어떤 이유로 "FBAS"테이블의 행의 총 수 (조인 테이블), 행 (166)을 가지고, 그리고 85 X 166 = 14,110 곱셈 SQL.
이 테이블에 조인 할 수 있지만 내 결과에 조인 된 테이블의 총 행 수를 곱하지 않으려면 어떻게해야합니까? 감사!
MySQL 또는 SQL Server를 사용하고 있습니까? 실제로 두 가지를 사용하지 않는 한 완전히 다른 두 개의 데이터베이스 플랫폼에 태그를 지정하지 마십시오. –
FBAInventory에 SKU = 'ELO-250030'인 85 개의 레코드가있는 경우이 85 개의 각 행에 대해 동일한 SKU를 가진 FBAShipment의 행과 결합하려고 시도합니다. 조인의 "ON"절에서 원하는 다른 필드 쌍이 있어야합니다. –
fbas.sku를 GROUP BY 절에 추가하면 문제가 해결됩니까? 나는. 'GROUP BY fbai.id, fbas.sku' – Ruslan