MS Access 2007의 데이터베이스에 3 개의 테이블 PROGRAMA, TB_ONHAND 및 TB_BOM이 있으며 TB_ONHAND는 실제 재고 값을 저장하고 TB_BOM은 기계를 생산하는 데 필요한 자재를 저장하며 PROGRAMA 테이블은 일일 생산량을 저장합니다 프로그램.잘못된 SUM 결과가있는 쿼리
TOTAL이라는 그룹 필드와 SUM을 그룹화하려고 할 때 문제가 있습니다.
이것은 원래 쿼리입니다.하지만 그 자료가 두 개의 다른 창고에 저장되어 있기 때문에 TB_ONHAND에 동일한 SUBITEM이 두 번 있기 때문에 x2 값을 가져 오는 행이 있습니다. 하위 쿼리로 해결되지만 읽지 않았습니다. 내가 FECHA 같은 일부 필드를 삭제하는 것이
SELECT
TB_BOM.SUBITEM,
TB_BOM.[SUBITEM DESCRIPTION],
PROGRAMA.FECHA,
TB_BOM.ITEMTYPE,
TB_ONHAND.Warehouse,
Sum(PROGRAMA.CANTIDAD*TB_BOM.[BUILD REQ]) AS TOTAL, <---This is the value I get incorrect in some cases.
TB_BOM.[PLANNER NAME]
FROM
(PROGRAMA LEFT JOIN TB_BOM ON PROGRAMA.ITEM = TB_BOM.BOM)
LEFT JOIN TB_ONHAND ON TB_BOM.SUBITEM = TB_ONHAND.[Item number]
WHERE
(((PROGRAMA.FECHA)=[Buscar requerimento de material de la fecha: (mm/dd/aaaa)]) AND ((TB_ONHAND.Warehouse)="301"))
GROUP BY
TB_BOM.SUBITEM,
TB_BOM.[SUBITEM DESCRIPTION],
PROGRAMA.FECHA, TB_BOM.ITEMTYPE,
TB_ONHAND.Warehouse,
TB_BOM.[PLANNER NAME];
이 쿼리 결과 (주 아이디어는 어떻게 임 예제와 함께 하위 쿼리를 이해하려고 노력하지만, 여전히 실마리가 내 쿼리 하위 쿼리를 추가하지 않습니다 어떻게 나타내고 itemtype, 창고, PLANNER 아이템 번호와 합계 값을 표시하기위한 NAME) :
SUBITEM Physical inventory TOTAL CORTOS
30-5865/01-801 5.00 82 -77
하지만 완전히 잘못되면 41 개를 합계해야합니다. TB_ONHAND 테이블에 동일한 SUBITEM에 2 개의 행이 있으므로 그 이유는 이것이 다른 창고에 저장되어 있기 때문입니다.
올바른 결과가 있어야한다 : 그 하위 항목은 한 번만 TB_ONHAND에서 나타나기 때문에
SUBITEM Physical inventory TOTAL CORTOS
30-5865/01-801 5.00 41 -36
가 BTW 나는 그들이 2 개 이상을 가지고 있기 때문에 잘못된 합계 값을 가져 그 재료는, 거의 모든 하위 항목 번호로 정확한 금액을 얻을 행은 TB_ONHAND에 있습니다.
나는 어떤 도움을 주어도 대단히 감사 할 것입니다. 제 영어 실력이 완벽하지 않아서 실을 이해할 수 있기를 바랍니다.
음, 데이터 자체가 다른 창고가있는 TB_ONHAND 테이블에 두 번 나타나기 때문에 잘못된 결과가 발생했습니다. 어느 쪽을 선택해야합니까? 창고 정보가 필요합니까? – Lamak
귀하의 질문에 대한 명확하지 않습니다. @Lamak이 말했듯이, 당신은 그 원인을 알고 있습니다 - 그래서 어떤 종류의 도움을 원하십니까? – Nicarus