需要根据表3中的产品分别对两个表中的两列进行求和

时间:2012-09-24 16:22:08

标签: sql oracle11g oracle-apex

我有三张桌子 表1:产品映射表,
表2:2012财年销售数字,
表3:2013财年销售数字。

基本上,我希望最终结果是三列:产品,FY12数量,FY13数量。

现在我将Product Mapping表加入Two Sales表。如果我这样做一个销售表,我得到正确的数字。一旦我试图从另一张桌子上得到这笔钱,那么这些数字就会全部消失。

以下是用于从一个表中获取数量的代码,但我无法弄清楚如何在结果中获取另一个列来汇总来自另一个表的相同产品分组。

select PRODUCT_MAPPING.PRODUCT_FAMILY as PRODUCT_FAMILY,
    PRODUCT_MAPPING.PRODUCT_CONFIG as PRODUCT_CONFIG,
    sum(CURRENTWEEK_PIPE.FY13_QUANTITY) as FY13_QUANTITY 
 from PRODUCT_MAPPING PRODUCT_MAPPING,
    CURRENTWEEK_PIPE CURRENTWEEK_PIPE 
 where CURRENTWEEK_PIPE.PRODUCT_ITEM=PRODUCT_MAPPING.PRODUCT_ITEM
    and PRODUCT_MAPPING.PRODUCT_CONFIG is not null
 group by PRODUCT_MAPPING.PRODUCT_FAMILY, PRODUCT_MAPPING.PRODUCT_CONFIG
 order by PRODUCT_MAPPING.PRODUCT_FAMILY ASC, PRODUCT_MAPPING.PRODUCT_CONFIG ASC

1 个答案:

答案 0 :(得分:0)

你尝试使用子查询吗?

  

SELECT sum(CURRENTWEEK_PIPE.FY13_QUANTITY),sum(CURRENTWEEK_PIPE.FY12_QUANTITY)来自......

     

选择PRODUCT_MAPPING.PRODUCT_FAMILY作为PRODUCT_FAMILY,       PRODUCT_MAPPING.PRODUCT_CONFIG为PRODUCT_CONFIG,       (SELECT sum(CURRENTWEEK_PIPE.FY13_QUANTITY),sum(CURRENTWEEK_PIPE.FY12_QUANTITY)来自.......)作为来自PRODUCT_MAPPING PRODUCT_MAPPING的FY13_QUANTITY,       CURRENTWEEK_PIPE CURRENTWEEK_PIPE CURRENTWEEK_PIPE.PRODUCT_ITEM = PRODUCT_MAPPING.PRODUCT_ITEM       和PRODUCT_MAPPING.PRODUCT_CONFIG不是由PRODUCT_MAPPING.PRODUCT_FAMILY,PRODUCT_MAPPING.PRODUCT_CONFIG订单的空组   by PRODUCT_MAPPING.PRODUCT_FAMILY ASC,PRODUCT_MAPPING.PRODUCT_CONFIG   ASC