주문 유형에 따라 주문 및 주문 회선을 계산하려고합니다. 지금까지 주문 유형별 주문 헤더를 계산했습니다.오라클 SQL 합계를 통한 계산
SELECT lifnr,
COUNT(CASE WHEN e1.bsart = 'NB' THEN 1 ELSE NULL END) Schedule_Orders,
COUNT(CASE WHEN e1.bsart = 'ZNBS' THEN 1 ELSE NULL END) Store_Orders,
COUNT(CASE WHEN e1.bsart = 'ZCSO' THEN 1 ELSE NULL END) Third_Party,
COUNT(CASE WHEN e1.bsart NOT IN ('ZCSO', 'NB', 'ZNBS') THEN 1 ELSE NULL END) Other_Orders,
COUNT(*) Total_Orders
FROM saprpe.ekko e1
JOIN saprpe.ekpo p1
ON e1.ebeln = p1.ebeln
WHERE e1.aedat BETWEEN '20130701' AND '20140701'
GROUP BY lifnr
주문 행은 EKPO 테이블에 저장되므로 문서 번호를 사용하여 EKKO에 가입했습니다. 위의 경우 주문 유형별 주문 라인 수를 계산하려면 어떻게해야합니까? 나는 단지 모든 주문 유형을위한 것이 아닌 모든 주문 라인을 계산할 수있었습니다.
추가 정보 : 주문 헤더는 공급 업체, 주문 번호 및 주문 유형을 포함하는 EKKO에 저장됩니다. EKKO는 주문 행을 포함하는 테이블 EKPO와 1 대 다수의 관계를가집니다. 주문 라인은 주문 번호를 통해 주문 헤더와 관련됩니다. 내가하려고하는 것은 NB, ZNBS 및 ZCSO의 세 가지 주문 유형과 각 주문 유형의 총계 행에 대한 총 주문 헤더를 얻는 것입니다. 모두 자신의 란에
예를 들면 나는보고 싶다; 내가 경우
Vendor1, 10 개 NB 주문, 100 개 NB 주문 라인, 0 ZNBS 주문, 0 ZNBS 주문 라인, 5 개 ZCSO 주문, 15 개 ZCSO 주문 라인, 15 개 총 주문, 115 총 주문 라인
지적하십시오 무엇이든 명확히 할 필요가있다. 나는 단일 SQL 쿼리에서 이것을 선호한다는 것을 알아야한다. WHERE 절을 사용하여 각 Order Type에 대해 개별 쿼리 단위로 관리 할 수있다.
샘플 데이터와 원하는 결과를 제공 할 수 있습니까? 나는 아직도 당신이 무엇을 의미하는지 모른다. "위의 경우 각 주문 유형에 대한 주문 행을 어떻게 계산합니까?" –
여기 샘플 데이터를 포맷하려고하는 악몽이었습니다! 내용을 더 명확하게 편집합니다 – Dan