【问题标题】:how to find the sum that is less than 1000 in Oracle如何在Oracle中找到小于1000的总和
【发布时间】:2015-08-27 15:08:17
【问题描述】:

我正在尝试使用以下查询查找小于 1000 的销售额总和,并且我还提到了错误消息。
非常感谢您的帮助。

SELECT 
    DELI_DT,
    BILL_NO,br_cd,
    Prod,
    ROUND(SUM(SALE),2)<1000 SALE
FROM (
    SELECT 
        DELI_DT,
        b.BILL_NO,
        b.br_cd,
        b.CAT_CD||b.PRD_CD Prod,
        nvl(SUM(b.sale_net),0)-nvl(sum(RT_QTY*FLAT_RT),0) SALE
    from BILL_DET b, BILL_MAS a
    here a.BILL_NO = b.BILL_NO
    AND a.SC_CD = b.SC_CD
    and b.TYP_CD='09'
    and  a.SALE_CD NOT IN ('RS','IN','EX')
    AND DELI_DT BETWEEN '01-JUL-15' and '02-JUL-15'
    GROUP BY Deli_DT,b.BILL_NO,b.br_cd,b.CAT_CD||b.PRD_CD
)
group by DELI_DT,BILL_NO,br_cd,Prod,SALE
ORDER BY 1

错误信息:

第 1 行出现错误:ORA-00923: FROM 关键字未在预期位置找到

【问题讨论】:

  • 将此处更改为此处并尝试一次。这是“这里 a.BILL_NO = b.BILL_NO”这一行
  • 你的代码里有什么??

标签: sql oracle sum


【解决方案1】:

检查查询的修改

 SELECT DELI_DT,BILL_NO,br_cd,Prod, SALE
 FROM
    (SELECT DELI_DT,b.BILL_NO,b.br_cd,b.CAT_CD||b.PRD_CD Prod,nvl(SUM(b.sale_net),0)-nvl(sum(RT_QTY*FLAT_RT),0) SALE
    from BILL_DET b join 
    BILL_MAS a
    on
    a.BILL_NO = b.BILL_NO
    AND a.SC_CD = b.SC_CD
    and   b.TYP_CD='09'
    and  a.SALE_CD NOT IN ('RS','IN','EX')
    AND DELI_DT BETWEEN '01-JUL-15' and '02-JUL-15'
    GROUP BY Deli_DT,b.BILL_NO,b.br_cd,b.CAT_CD||b.PRD_CD
    )
 GROUP BY DELI_DT,BILL_NO,br_cd,Prod,SALE
 HAVING ROUND(SUM(SALE),2)<1000
 ORDER BY 1

【讨论】:

    【解决方案2】:

    试试;

    SELECT 
        DELI_DT,
        BILL_NO,br_cd,
        Prod,
        ROUND(SUM(SALE),2)<1000 SALE
    FROM (
        SELECT 
            DELI_DT,
            b.BILL_NO,
            b.br_cd,
            b.CAT_CD||b.PRD_CD Prod,
            nvl(SUM(b.sale_net),0)-nvl(sum(RT_QTY*FLAT_RT),0) SALE
        from BILL_DET b
        join BILL_MAS a 
            on a.BILL_NO = b.BILL_NO
            AND a.SC_CD = b.SC_CD
        where b.TYP_CD='09'
        and  a.SALE_CD NOT IN ('RS','IN','EX')
        AND DELI_DT BETWEEN '01-JUL-15' and '02-JUL-15'
        GROUP BY Deli_DT,b.BILL_NO,b.br_cd,b.CAT_CD||b.PRD_CD
    )
    group by DELI_DT,BILL_NO,br_cd,Prod,SALE
    ORDER BY 1
    

    【讨论】:

      猜你喜欢
      • 2019-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-19
      • 2015-10-28
      • 2022-10-12
      • 1970-01-01
      相关资源
      最近更新 更多