首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我想减去Curr_YTD和Prev_YTD,然后除以Prev_YTD。存储过程需要更正

我想减去Curr_YTD和Prev_YTD,然后除以Prev_YTD。存储过程需要更正
EN

Stack Overflow用户
提问于 2016-11-03 15:47:36
回答 1查看 25关注 0票数 0

这是一个存储过程,取列的和,现在我想取,减去Curr_YTD和Prev_YTD的值,再除以Prev_YTD。存储过程需要更正。如果有人可以帮助减法和除法运算符,请让我知道。

代码语言:javascript
运行
复制
SELECT B.TEAMNAME, B.PRIMARY_CODE, B.HIERARCHY_LEVEL, A.THERAPEUTICCLASS_CD,
                 B.PRODUCT_CODE, B.CHANNEL, B.UNIT,'P' PM_INDICATOR, A.PROCESSINGPERIOD_DT,
                 A.LOCATION_CODE, A.GEOGRAPHY_NAME,party_id, A.TRX_QTY1, A.TRX_QTY2, A.TRX_QTY3, A.TRX_QTY4,
                 A.TRX_QTY5,A.TRX_QTY6,A.TRX_QTY7,A.TRX_QTY8,A.TRX_QTY9,A.TRX_QTY10,A.TRX_QTY11,
                 A.TRX_QTY12,A.TRX_QTY13,A.TRX_QTY14,A.TRX_QTY15,A.TRX_QTY16,A.TRX_QTY17,A.TRX_QTY18,
                 A.TRX_QTY19,A.TRX_QTY20,A.TRX_QTY21, A.TRX_QTY22,A.TRX_QTY23,A.TRX_QTY24, 
                 A.TRX_QTY1+ A.TRX_QTY2+ A.TRX_QTY3+ A.TRX_QTY4+A.TRX_QTY5+A.TRX_QTY6+A.TRX_QTY7+A.TRX_QTY8 Curr_YTD,
                 A.TRX_QTY13+A.TRX_QTY14+A.TRX_QTY15+A.TRX_QTY16+A.TRX_QTY17+A.TRX_QTY18+A.TRX_QTY19+A.TRX_QTY20 Prev_YTD,
                 (Curr_YTD Minus Prev_YTD)/Prev_YTD  YTD


  FROM (SELECT TTP.LILLY_MARKET_ID THERAPEUTICCLASS_CD,
               TO_DATE(XPS.PROCESSINGPERIOD_DT, 'MM / DD / YYYY') PROCESSINGPERIOD_DT,
              TTP.PRIMARY_CD PRIMARY_CODE,
               TLP.LOCATION_CODE,
               RTRIM(TLP.Geography_name) GEOGRAPHY_NAME,
               ttp.party_id,
               SUM(XPS.TRX_QTY1) TRX_QTY1,SUM(XPS.TRX_QTY2) TRX_QTY2,SUM(XPS.TRX_QTY3) TRX_QTY3,
               SUM(XPS.TRX_QTY4) TRX_QTY4,SUM(XPS.TRX_QTY5) TRX_QTY5,SUM(XPS.TRX_QTY6) TRX_QTY6,
               SUM(XPS.TRX_QTY7) TRX_QTY7,SUM(XPS.TRX_QTY8) TRX_QTY8,SUM(XPS.TRX_QTY9) TRX_QTY9,
               SUM(XPS.TRX_QTY10) TRX_QTY10,SUM(XPS.TRX_QTY11) TRX_QTY11,SUM(XPS.TRX_QTY12) TRX_QTY12,
               SUM(XPS.TRX_QTY13) TRX_QTY13,SUM(XPS.TRX_QTY14) TRX_QTY14,SUM(XPS.TRX_QTY15) TRX_QTY15,
               SUM(XPS.TRX_QTY16) TRX_QTY16,SUM(XPS.TRX_QTY17) TRX_QTY17,SUM(XPS.TRX_QTY18) TRX_QTY18,
               SUM(XPS.TRX_QTY19) TRX_QTY19,SUM(XPS.TRX_QTY20) TRX_QTY20,SUM(XPS.TRX_QTY21) TRX_QTY21,
               SUM(XPS.TRX_QTY22) TRX_QTY22,SUM(XPS.TRX_QTY23) TRX_QTY23,SUM(XPS.TRX_QTY24) TRX_QTY24
          FROM T_SALECRDTNG_XPS_48861  XPS,
               T_SALECRDTNG_TTP_49354 TTP,
               T_SALESCRD_LOCTNMAPNG  TLP
         WHERE TTP.PARTY_ID = XPS.PRFSNL_ID
           AND TTP.LILLY_MARKET_ID = XPS.LLY_THERAPEUTICCLASS_CD
           AND TLP.MAPPINGID = 48871
           and TLP.PRIMARY_CODE = 'USUA'
           AND XPS.PRODUCT_ID IN ('10210','10215')
           AND XPS.LLY_PRODUCT_ID IN ('203825','208142')
           AND TLP.LOCATION_CODE = TRIM(TTP.MASTER_GEO_ID)
           AND TTP.PRIMARY_CD = TLP.PRIMARY_CODE
          group by TTP.LILLY_MARKET_ID,
                  TTP.PRIMARY_CD,
                  TO_DATE(XPS.PROCESSINGPERIOD_DT, 'MM / DD / YYYY'),
                  TLP.LOCATION_CODE,
                  ttp.party_id,
                  TLP.Geography_name) A,
       (SELECT DISTINCT UPPER(SC.TEAMNAME) TEAMNAME,
                        DECODE(SC.HIERARCHY_LEVEL, 'TERRITORY',  3,  'DISTRICT', 2, 'AREA', 1, 'REGION', 
                               6,'DIVISION',0, NULL) HIERARCHY_LEVEL,
                        SC.PRODUCT_CODE PRODUCT_CODE,
                        SC.PRIMARY_CODE PRIMARY_CODE,
                        SC.CHANNEL CHANNEL,
                        SC.UNIT UNIT
          FROM T_SALESCRDNG_CONFIG SC
         WHERE SC.CONFIGID = 48994
           AND SC.PRIMARY_CODE = 'USUA'
           AND SC.PRODUCT_CODE = 'CIALIS TOTAL') B
WHERE A.PRIMARY_CODE = B.PRIMARY_CODE
;
EN

回答 1

Stack Overflow用户

发布于 2016-11-03 17:42:48

只需添加一个SELCET,并将现有查询设为子查询,如下所示

代码语言:javascript
运行
复制
SELECT rs.TEAMNAME, rs.PRIMARY_CODE, rs.HIERARCHY_LEVEL, rs.THERAPEUTICCLASS_CD,
                 rs.PRODUCT_CODE, rs.CHANNEL, rs.UNIT,rs.PM_INDICATOR, rs.PROCESSINGPERIOD_DT,
                 rs.LOCATION_CODE, rs.GEOGRAPHY_NAME,rs.party_id, rs.TRX_QTY1, rs.TRX_QTY2, rs.TRX_QTY3, rs.TRX_QTY4,
                 rs.TRX_QTY5,rs.TRX_QTY6,rs.TRX_QTY7,rs.TRX_QTY8,rs.TRX_QTY9,rs.TRX_QTY10,rs.TRX_QTY11,
                 rs.TRX_QTY12,rs.TRX_QTY13,rs.TRX_QTY14,rs.TRX_QTY15,rs.TRX_QTY16,rs.TRX_QTY17,rs.TRX_QTY18,
                 rs.TRX_QTY19,rs.TRX_QTY20,rs.TRX_QTY21, rs.TRX_QTY22,rs.TRX_QTY23,rs.TRX_QTY24, 
                 rs.Curr_YTD, rs.Prev_YTD,
                 (rs.Curr_YTD - rs.Prev_YTD)/rs.Prev_YTD  YTD
FROM
(
SELECT B.TEAMNAME, B.PRIMARY_CODE, B.HIERARCHY_LEVEL, A.THERAPEUTICCLASS_CD,
                 B.PRODUCT_CODE, B.CHANNEL, B.UNIT,'P' PM_INDICATOR, A.PROCESSINGPERIOD_DT,
                 A.LOCATION_CODE, A.GEOGRAPHY_NAME,party_id, A.TRX_QTY1, A.TRX_QTY2, A.TRX_QTY3, A.TRX_QTY4,
                 A.TRX_QTY5,A.TRX_QTY6,A.TRX_QTY7,A.TRX_QTY8,A.TRX_QTY9,A.TRX_QTY10,A.TRX_QTY11,
                 A.TRX_QTY12,A.TRX_QTY13,A.TRX_QTY14,A.TRX_QTY15,A.TRX_QTY16,A.TRX_QTY17,A.TRX_QTY18,
                 A.TRX_QTY19,A.TRX_QTY20,A.TRX_QTY21, A.TRX_QTY22,A.TRX_QTY23,A.TRX_QTY24, 
                 A.TRX_QTY1+ A.TRX_QTY2+ A.TRX_QTY3+ A.TRX_QTY4+A.TRX_QTY5+A.TRX_QTY6+A.TRX_QTY7+A.TRX_QTY8 Curr_YTD,
                 A.TRX_QTY13+A.TRX_QTY14+A.TRX_QTY15+A.TRX_QTY16+A.TRX_QTY17+A.TRX_QTY18+A.TRX_QTY19+A.TRX_QTY20 Prev_YTD
  FROM (SELECT TTP.LILLY_MARKET_ID THERAPEUTICCLASS_CD,
               TO_DATE(XPS.PROCESSINGPERIOD_DT, 'MM / DD / YYYY') PROCESSINGPERIOD_DT,
              TTP.PRIMARY_CD PRIMARY_CODE,
               TLP.LOCATION_CODE,
               RTRIM(TLP.Geography_name) GEOGRAPHY_NAME,
               ttp.party_id,
               SUM(XPS.TRX_QTY1) TRX_QTY1,SUM(XPS.TRX_QTY2) TRX_QTY2,SUM(XPS.TRX_QTY3) TRX_QTY3,
               SUM(XPS.TRX_QTY4) TRX_QTY4,SUM(XPS.TRX_QTY5) TRX_QTY5,SUM(XPS.TRX_QTY6) TRX_QTY6,
               SUM(XPS.TRX_QTY7) TRX_QTY7,SUM(XPS.TRX_QTY8) TRX_QTY8,SUM(XPS.TRX_QTY9) TRX_QTY9,
               SUM(XPS.TRX_QTY10) TRX_QTY10,SUM(XPS.TRX_QTY11) TRX_QTY11,SUM(XPS.TRX_QTY12) TRX_QTY12,
               SUM(XPS.TRX_QTY13) TRX_QTY13,SUM(XPS.TRX_QTY14) TRX_QTY14,SUM(XPS.TRX_QTY15) TRX_QTY15,
               SUM(XPS.TRX_QTY16) TRX_QTY16,SUM(XPS.TRX_QTY17) TRX_QTY17,SUM(XPS.TRX_QTY18) TRX_QTY18,
               SUM(XPS.TRX_QTY19) TRX_QTY19,SUM(XPS.TRX_QTY20) TRX_QTY20,SUM(XPS.TRX_QTY21) TRX_QTY21,
               SUM(XPS.TRX_QTY22) TRX_QTY22,SUM(XPS.TRX_QTY23) TRX_QTY23,SUM(XPS.TRX_QTY24) TRX_QTY24
          FROM T_SALECRDTNG_XPS_48861  XPS,
               T_SALECRDTNG_TTP_49354 TTP,
               T_SALESCRD_LOCTNMAPNG  TLP
         WHERE TTP.PARTY_ID = XPS.PRFSNL_ID
           AND TTP.LILLY_MARKET_ID = XPS.LLY_THERAPEUTICCLASS_CD
           AND TLP.MAPPINGID = 48871
           and TLP.PRIMARY_CODE = 'USUA'
           AND XPS.PRODUCT_ID IN ('10210','10215')
           AND XPS.LLY_PRODUCT_ID IN ('203825','208142')
           AND TLP.LOCATION_CODE = TRIM(TTP.MASTER_GEO_ID)
           AND TTP.PRIMARY_CD = TLP.PRIMARY_CODE
          group by TTP.LILLY_MARKET_ID,
                  TTP.PRIMARY_CD,
                  TO_DATE(XPS.PROCESSINGPERIOD_DT, 'MM / DD / YYYY'),
                  TLP.LOCATION_CODE,
                  ttp.party_id,
                  TLP.Geography_name) A,
       (SELECT DISTINCT UPPER(SC.TEAMNAME) TEAMNAME,
                        DECODE(SC.HIERARCHY_LEVEL, 'TERRITORY',  3,  'DISTRICT', 2, 'AREA', 1, 'REGION', 
                               6,'DIVISION',0, NULL) HIERARCHY_LEVEL,
                        SC.PRODUCT_CODE PRODUCT_CODE,
                        SC.PRIMARY_CODE PRIMARY_CODE,
                        SC.CHANNEL CHANNEL,
                        SC.UNIT UNIT
          FROM T_SALESCRDNG_CONFIG SC
         WHERE SC.CONFIGID = 48994
           AND SC.PRIMARY_CODE = 'USUA'
           AND SC.PRODUCT_CODE = 'CIALIS TOTAL') B
WHERE A.PRIMARY_CODE = B.PRIMARY_CODE
) rs
;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40396244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档