【问题标题】:SQL SERVER: WHERE clause in subquery to get attribute from outer querySQL SERVER:子查询中的 WHERE 子句从外部查询中获取属性
【发布时间】:2020-04-10 23:00:37
【问题描述】:

所以这里是查询

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 从子查询匹配到外部查询。如何解决这个问题? 任何帮助将不胜感激。

【问题讨论】:

    标签: sql-server subquery where-clause


    【解决方案1】:

    尝试以下方法:

    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;
    

    【讨论】:

    • @Tathagata 有时以更好的方式格式化代码会有所帮助。啊!
    • 这是我第一次参加数据库课程,我是菜鸟;-;
    • @Tathagata 你在做 gr8,你可以使用this 来格式化代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-14
    • 2014-11-04
    • 2017-07-22
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多