내가이 쿼리를함으로써 당신은 볼 수 있습니다 :중첩 된 그룹 SQL Server의
SELECT
[LineId]
,[TestPackageId]
,[MaterialDescriptionId]
,isnull(sum([RequestQuantity]),0) as TotalMRC
,isnull(sum([QuantityDeliver]),0) TotalMIV
,isnull(sum([QuantityDeliverToMember]),0) totalIMIV
,isnull(sum([QuantityDeliver]),0) - isnull(sum([QuantityDeliverToMember]),0) as Warehouse
FROM
[SPMS2].[dbo].[ViewMTO2]
GROUP BY
[LineId], [TestPackageId], [MaterialDescriptionId]
결과는 다음과 같습니다
lindid tp matDes mrc miv imiv warehouse
101973 7927 61075 2 2 0 2
101991 8666 70721 1 1 0 1
102052 8751 71008 48 16 0 16
99626 8053 61075 0 0 0 0
문제는 창고이며, 그 값이 false 국지적 인 창고입니다 값은 MaterialDescriptionId
에 의해 계산되어야합니다. MaterialDescriptionId
의 각 행 ([LineId], [TestPackageId], [MaterialDescriptionId])에 대해 TotalMIV-totalIMIV
이 단지 계산되어야합니다. 실제 결과는
lindid tp matDes mrc miv imiv warehouse
101973 7927 61075 2 2 0 2
101991 8666 70721 1 1 0 1
102052 8751 71008 48 16 0 16
99626 8053 61075 0 0 0 2
당신이 두 항목을 볼 수 있듯이 61075
이 MaterialDescriptionId
기준으로 계산됩니다 2.because해야한다.
내 검색어에서 어떻게 처리 할 수 있습니까? 여기
내viewmto2
결과 (null 값이 제로이다)이다
당신은 창고 계산하기 위해 별도의 서브 쿼리를 사용할 수 있습니다
그룹화하기 전에'ViewMTO2' 테이블의 샘플 데이터를 추가 할 수 있습니까? –
@Prdp 업데이트 저장소 –
''warehouse'가'matDesc'를 기반으로한다고 말하면 결과 세트가 조금 혼란 스럽습니다. 결과 집합은 3 개의 모든 필드를 기반으로하지만웨어 하우스는 1만을 기반으로하므로 사용자가 별도의 행에서 2와 2를 볼 때 해당 'matDesc'값의 "합계" 4. 실제로는 사용자에게 분명할까요? – SlimsGhost