以下のクエリは、カリフォルニアの2009年度と2010年度の間の製品の割合を計算します。私は残りの状態を計算するように割り当てられています(STATES表を参照してください)。状態のパーセンテージを計算できるSQLServerの方法はありますか?私は現在、一度に各状態を手動で計算しています。
(データの整合性のため、statesテーブルを個別に使用する必要があることに注意してください。カーソルで使用できるかどうかを考えていましたが、まだそこにいません。)
DECLARE @LOCATION VARCHAR(2)
SET @state = 'CA'
SELECT NUMBER1/CAST(NUMBER2 as FLOAT) as PERCENTAGE
FROM
(
SELECT COUNT (PRODUCT) as NUMBER1
FROM SOMETABLE1
WHERE LOCATION = @state
AND DATE >='10/1/2008'
AND DATE <' 10/1/2009'
)X,
(
SELECT COUNT (PRODUCT) as NUMBER2
FROM SOMETABLE2
WHERE LOCATION = @state
AND DATE >='10/1/2009'
AND DATE <' 10/1/2010'
)Y
PERCENTAGE
1.400742
SELECT state
FROM STATES
STATE
CA
AZ
TX
NV
NM
UT
OR
CO
WA