Справка по SQL Server Query (с помощью курсора?) - PullRequest
2 голосов
/ 20 декабря 2010

В приведенном ниже запросе рассчитывается процентное соотношение продукта между 2009 финансовым годом и 2010 финансовым годом для Калифорнии.Я назначен для расчета оставшихся состояний (см. Таблицу STATES).Есть ли способ в SQL SERVER, который может рассчитать процентное содержание состояний?В настоящее время я вручную рассчитываю каждое состояние за раз.Мне было интересно, может ли кто-нибудь помочь мне с этим.С праздником всех!(обратите внимание, я должен использовать таблицу состояний отдельно из-за целостности данных. Я думал, что курсор сделает это, но я еще не там.)

1 Ответ

2 голосов
/ 20 декабря 2010

Вы можете присоединиться к таблице STATES.Что-то вроде этого:

SELECT X.STATE, X.NUMBER1/CAST(Y.NUMBER2 as FLOAT) as PERCENTAGE
FROM
(
    SELECT S.STATE, COUNT(*) as NUMBER1
    FROM SOMETABLE1 AS S1
    INNER JOIN STATES AS S ON S1.LOCATION = S.STATE
    AND S1.DATE >='10/1/2008'
    AND S1.DATE < '10/1/2009'
    GROUP BY S.STATE
)X,

(
    SELECT S.STATE, COUNT (*) as NUMBER2
    FROM SOMETABLE2 AS S2
    INNER JOIN STATES AS S ON S2.LOCATION = S.STATE
    AND S2.DATE >='10/1/2009'
    AND S2.DATE < '10/1/2010'
    GROUP BY S.STATE
)Y
WHERE X.STATE = Y.STATE
...