gpt4 book ai didi

oracle-apex-5.1 - Oracle APEX 图表 - 显示无效数据

转载 作者:行者123 更新时间:2023-12-04 07:11:24 26 4
gpt4 key购买 nike

我有一个显示值标签和百分比的仪表图。它基于返回 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, 0, 1E99, NUM_FAILED) VALUE,
decode(TOTAL_NUM , 0, 1E99, 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>

实际上为零。看看你能不能用这种方法做点什么。

关于oracle-apex-5.1 - Oracle APEX 图表 - 显示无效数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50951917/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com