select a/b from table where b>0

解决方案 »

  1.   

    SELECT t."GRADE" || t."NAME" AS "GRADE",
           t."KIND",
           ROUND(t1."VALUE" / t1."WEIGHT", 2) AS "PRICE",
           t1."WEIGHT",
           t1."VALUE"
      FROM "OTL_S_GRADE" t,
           (SELECT "OTL_OUT_SUB"."GRADE_CODE" AS "GRADE",
                   SUM("OTL_OUT_SUB"."FACT_WEIGHT") AS "WEIGHT",
                   SUM("OTL_OUT_SUB"."FACT_VALUE") AS "VALUE"
              FROM "OTL_OUT_SUB"
             WHERE ("OTL_OUT_SUB"."FACT_DATE" >=
                   TO_DATE('2004-10-01' || ' 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) AND
                   ("OTL_OUT_SUB"."FACT_DATE" <=
                   TO_DATE('2004-10-31' || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')) AND
                   ("OTL_OUT_SUB"."OUT_TYPE" = 1)
             GROUP BY "OTL_OUT_SUB"."GRADE_CODE") t1
     WHERE t."GRADE_CODE" = t1."GRADE"
     ORDER BY t."KIND", t."REPORT_SORT"
    我只是做了一个查询去取数据
      

  2.   

    ROUND(t1."VALUE" / t1."WEIGHT", 2) AS "PRICE",
    这个地方,你不是在作除法运算吗?
      

  3.   

    谢谢,我查出来了,在31号的数据中有一条数据的WEIGHT为“0”才引起
    ROUND(t1."VALUE" / t1."WEIGHT", 2) AS "PRICE",这个除法运算时除数为“0”的,是我的程序没有做好控制。
      

  4.   

    ROUND(t1."VALUE" / t1."WEIGHT", 2) AS "PRICE"中的t1."WEIGHT"有问题,你查查这天的weight等于多少