oracle-apex-5.1 – Oracle APEX图表 – 显示无效数据
发布时间:2021-01-15 17:15:06 所属栏目:站长百科 来源:网络整理
导读:我有一个显示价值标签和百分比的仪表图表.它基于返回VALUE和MAX_VALUE的查询.在某些情况下,查询返回0作为MAX_VALUE,然后图表显示消息“无效数据”.我相信这是因为除以零而发生的.如何防止显示此消息并返回0作为VALUE和MAX_VALUE以及0%? SELECT NUM_FAILED
我有一个显示价值标签和百分比的仪表图表.它基于返回VALUE和MAX_VALUE的查询.在某些情况下,查询返回0作为MAX_VALUE,然后图表显示消息“无效数据”.我相信这是因为除以零而发生的.如何防止显示此消息并返回0作为VALUE和MAX_VALUE以及0%? SELECT NUM_FAILED VALUE,TOTAL_NUM MAX_VALUE FROM ( SELECT ( SELECT COUNT(*) FROM (select t1.name,t1.run_id from Table1 t1 LEFT JOIN Table2 t2 ON t1.ID=t2.ID WHERE t1.START_DATE > SYSDATE - 1 GROUP BY t1.name,t1.run_id) ) AS TOTAL_NUM,( SELECT COUNT(*) FROM (select name,run_id from Table1 t1 LEFT JOIN Tabe2 t2 ON t1.ID=t2.ID where t1.run_id IN (SELECT run_id FROM Table1 where err_code > 0) AND t1.START_DATE > SYSDATE - 1 GROUP BY t1.name,t1.run_id) ) as NUM_FAILED FROM dual) 解决方法感谢您发布查询.如果你想避免0,那么DECODE怎么样? SELECT decode(NUM_FAILED,1E99,NUM_FAILED) VALUE,decode(TOTAL_NUM,TOTAL_NUM ) MAX_VALUE FROM (the rest of your query goes here) 你没有说明事后发生了什么(即究竟是什么导致除零 – 是NUM_FAILED还是TOTAL_NUM)?这个想法是:除了除以零,除以一个非常大的值(例如1E99),你会得到一个非常小的数字,例如: SQL> select 24/1E99 from dual; 24/1E99 ---------- 2,4000E-98 SQL> 实际上是零.看看你是否可以用这种方法做点什么. (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |