0

こんにちは、顧客ベースのボリューム情報をプルしています。会計年度 = 2013 の場合、ボリューム情報をプルするために、SELECT の下の列 [Volume2] のサブクエリを作成したいと考えています。クエリが現在作成されているため、すべてのボリュームは現在会計年度に含まれています>= 2012 WHERE 句の下にありますが、そこで変更する代わりに、SELECT の下の [Volume2] 列に指定したいと思います。したがって、[Volume1] 列には 2012 会計年度と 2013 会計年度のボリュームが含まれ、[Volume2] 列には 2013 年のボリュームのみが含まれます。

どんな助けでも大歓迎です!ありがとう!

SELECT 

sum([FactActualDetail].[Volume]) AS [Volume1],
sum([FactActualDetail].[Volume]) AS [Volume2],
sum([FactActualDetail].[AdjGrossMarginAmount]) AS [AdjGrossMarginAmount],
left([FactActualDetail].[SourceCustomerProductCode],7) as [Acct #],
[DimDate].[Fiscal_Year] as [Fiscal_Year],
[DimCustomer].[TerrSalesManagerName] AS [TerrSalesManagerName],
[DimCustomer].[AccountRepsalesmanName] AS [AccountRepsalesmanName]

FROM [dbo].[FactActualDetail] [FactActualDetail] 

LEFT JOIN [dbo].[DimCustomer] [DimCustomer] ON ([FactActualDetail].[CustomerSK] = [DimCustomer].[CustomerSK])
LEFT JOIN [Common].[DimDate] [DimDate] ON ([FactActualDetail].[DeliveryDateSK] = [DimDate].[DateSK])

WHERE [EQMultiplier] > 0 AND [Fiscal_Year] >= 2012 AND ([SuperChannelCode] = 04 OR [SuperChannelCode] = 06 OR [SuperChannelCode] = 07) AND (substring([SourceCustomerProductCode],8,3) = 102) 

GROUP BY left([FactActualDetail].[SourceCustomerProductCode],7),[TerrSalesManagerName],[AccountRepsalesmanName],[Fiscal_Year]
4

1 に答える 1

0

使用する

SUM(CASE WHEN Fiscal_Year = 2013 THEN FactActualDetail.Volume
         ELSE 0 END) AS Volume2

ただの代わりに

SUM(FactActualDetail.Volume) AS volume2

あなたのクエリで。

于 2013-03-05T22:49:12.437 に答える