【发布时间】:2019-02-02 23:36:29
【问题描述】:
我想根据前两列对 2 个表进行分组。我已成功完成此操作,代码如下所示。 我需要一些帮助来对每个表中的剩余列进行求和,并使用重命名的列插入到我的输出表中,如下所示。 在输出中,FORECAST 列是 MI_STAT_TOTAL 表的结果,SALES 列是 SALES_TOTAL 表的结果。
表:MI_STAT_TOTAL
Planning_Hierarchy_2 Region_Description Measure_Values
xx LATAM 2
yy ASPAC 3
zz EMEA 4
zz EMEA 1
aa ASPAC 1
表格:SALES_TOTAL
Product_Number Region Item_Values
xx LATAM 1
yy ASPAC 2
zz EMEA 2
zz EMEA 1
bb USA 2
预期输出 表:P2_Region_Unique
Product_Number Region Forecast Sales
xx LATAM 2 1
yy ASPAC 3 2
zz EMEA 5 3
aa ASPAC 1
bb USA 2
下面的代码只考虑两个表之间的 GROUP BY 而不是 SUM:
CREATE TABLE P2_Region_Unique (
Product_Number VARCHAR(100),
Region VARCHAR(13)
);
INSERT INTO P2_Region_Unique
SELECT s.Planning_Hierarchy_2 AS Product_Number, s.Region_Description` AS Region
FROM MI_STAT_TOTAL s
UNION
SELECT m.`Product Number` AS `Product_Number`, m.`Region` AS Region
FROM SALES_TOTAL m;
考虑到 SUM 也包括在内的预期输出表格式
CREATE TABLE P2_Region_Unique (
`Product Number` VARCHAR(100),
`Region` VARCHAR(13),
`Forecast` DECIMAL (20,10),
`Sales` DECIMAL (20,10)
);
【问题讨论】:
-
存储派生数据通常不是一个好主意