1

我正在使用如下所示的 sql 表:

    ID Region Store        Sales
    1  MEX    Supermarket  10,000
    2  USA    Supermarket   5,000
    3  MEX    Club         10,000
    4  USA    Direct        1,000
    5  MEX    Direct        4,000
    6  USA    Club              0

我有 8 个不同的区域选项(这里只有 2 个以使其更短)。此外,3 个商店选项,我想显示这样的信息:

    Store        MEX       USA
    Supermarket  10,000    5,000
    Club         10,000        0
    Direct        4,000    1,000

所以,我不知道该选择什么来像表格一样显示信息以比较每个商店段中区域之间的销售额,这将是正确的 sql 来调用它们并在列中排序以使其看起来像表格。

4

1 回答 1

0

PIVOT 算子的好人选。检查这个例子

根据您的情况,试试这个。您可以添加除 MEX 和 USA 之外的其他列。

SELECT  *
FROM    ( SELECT    [Region] ,
                    [Store] ,
                    [Sales]
          FROM      [RegionSales]
        ) rs PIVOT ( SUM(Sales) FOR Region IN ( [MEX], [USA] ) ) AS SalesPerRegion
于 2012-08-13T17:20:05.880 回答