SQL SERVER: предложение WHERE в подзапросе для получения атрибута из внешнего запроса - PullRequest
0 голосов
/ 11 апреля 2020

Итак, вот запрос

SELECT TOP 10 * FROM
(SELECT
    Country_Region AS CR,
    WeekOfYear,

    (SELECT SumConfWeekly FROM
    (
        SELECT Country_Region, SUM(ConfirmedWeekly) AS SumConfWeekly
        FROM covid_19_aggr
        GROUP BY CUBE (Country_Region)
    ) AS C
    WHERE C.Country_Region=T1.CR) AS SC2,
    ConfirmedWeekly
FROM 
    covid_19_aggr
)
AS T1
PIVOT(
    SUM(ConfirmedWeekly)
    FOR WeekOfYear IN ([4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14])
) AS PT1
ORDER BY SC2 DESC;

Проблема в предложении where, где я хочу сопоставить Country_Region из подзапроса с внешним запросом. Как go об этом? Любая помощь будет оценена.

1 Ответ

0 голосов
/ 11 апреля 2020

попробуйте следующее:

SELECT TOP 10 * FROM
(
    SELECT
        Country_Region AS CR,
        WeekOfYear,
        (
            SELECT SumConfWeekly FROM
                (
                    SELECT Country_Region, SUM(ConfirmedWeekly) AS SumConfWeekly
                    FROM @covid_19_aggr
                    GROUP BY CUBE (Country_Region)
                ) AS C
            WHERE C.Country_Region=T2.Country_Region
        ) AS SC2,
        ConfirmedWeekly
    FROM 
        @covid_19_aggr T2
)
AS T1
PIVOT
(
    SUM(ConfirmedWeekly)
    FOR WeekOfYear IN ([4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14])
) AS PT1
ORDER BY SC2 DESC;
...