下面的查询计算了加利福尼亚州 2009 财年与 2010 财年之间产品的百分比。我被分配计算剩余状态(请参阅 STATES 表)。SQL Server 中有没有一种方法可以计算状态百分比?我目前正在一次手动计算每个状态。
(请注意,由于数据完整性,我必须单独使用状态表。我在想游标是否会这样做,但我还没有。)
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