round不通过表达式错误给出组

时间:2017-07-06 08:56:22

标签: sql oracle rounding

为什么ROUND()不起作用? 我想计算每周销售额与当月相比的百分比 我正在使用oracle / sql developer

 SELECT DISTINCT (REPLACE (REPLACE(p.prod_desc,'this is the famous',''), 'size XXXL','size 14.00')|| ': PRODUCT_ID=' || p.prod_id ) "PRODUCT_DESCRIPTION",
           SUM(s.AMOUNT_SOLD) "TOTAL_AMOUNT_SOLD",
           CASE TO_CHAR( t.CALENDAR_WEEK_NUMBER) WHEN '13' THEN 'First week'
                                                 WHEN '14' THEN 'Second week'
                                                 WHEN '15' THEN 'Third week'
                                                 WHEN '16' THEN 'Fourth week'
                                                 WHEN '17' THEN 'Fifth week'
           END "WEEK_IN_MONTH",
           month.total AS "WEEKLY_PERCENT_SOLD",
           t.CALENDAR_WEEK_NUMBER
    FROM sh.PRODUCTS p INNER JOIN sh.SALES s 
    ON p.prod_id=s.prod_id
    INNER JOIN TIMES t 
    ON s.time_id=t.time_id
    inner join (  SELECT ROUND(SUM(s.AMOUNT_SOLD) * 100/ t.CALENDAR_MONTH_NUMBER, 2) as total, t.calendar_month_number
                  from SALES s
                  inner join times t
                  on s.time_id=t.time_id
                  group by t.CALENDAR_MONTH_NUMBER )
                  month
    ON t.calendar_month_number = month.calendar_month_number
    where  p.prod_id IN (300,10,540)
    AND TO_CHAR(t.time_id,'dd-MON-yy') LIKE '__-APR-00'
    GROUP BY p.PROD_DESC, p.PROD_ID, t.CALENDAR_WEEK_NUMBER
    ORDER BY 1, 4;

0 个答案:

没有答案