我有一个针对Oracle的复杂SQL查询,我希望在图表中可视化,以使我的同事可以理解。我试着http://snowflakejoins.com,但它只是呛到它。
有人有更好的建议吗?我更喜欢互联网上的网络应用程序,如果不是Windows的桌面应用程序。
with
logs as (
select
l.job_id,
l.subjob,
sum(l.verwerkt) verwerkt,
sum(l.errors) errors,
max(l.datum) laatst
from
dinf_monitor_logs l,
dinf_monitor_jobs j
where
l.datum>sysdate-j.dagen
and j.job_id=l.job_id(+)
group by
l.job_id,
l.subjob
),
alllogs as (
select job_id, subjob, max(datum) laatst from dinf_monitor_logs group by job_id, subjob
)
select row_number() over(order by alllogs.job_id, alllogs.subjob) r,
alllogs.job_id,
alljobs.naam,
alllogs.subjob,
logs.verwerkt,
logs.errors,
alllogs.laatst datum,
alljobs.wikilink,
alljobs.loglink,
alljobs.contact,
case
when alllogs.laatst is null then 1
when round(sysdate-(alllogs.laatst+alljobs.dagen))<0 then 0
else round(sysdate-(alllogs.laatst+alljobs.dagen))
end overtijd,
case
when logs.errors-alljobs.max_errors>0 then 5
when logs.verwerkt-alljobs.min_verwerkt<0 then 7
when round(sysdate-(alllogs.laatst+alljobs.dagen))>0 then 3
else 11
end status
from logs, alllogs, (select job_id, naam, wikilink, loglink, contact, dagen, min_verwerkt, max_errors from dinf_monitor_jobs) alljobs
where
logs.job_id(+)=alllogs.job_id
and logs.subjob(+)=alllogs.subjob
and alllogs.job_id=alljobs.job_id
order by alllogs.job_id, alllogs.subjob
答案 0 :(得分:3)
您可以使用Oracle SQL Developer的“查询构建器”选项卡。
您的示例查询结果将是:
答案 1 :(得分:0)
每个子查询都是数据集,我只是简单地说明查询的作用,然后描述数据集以及它们如何以实体关系的方式相互关联,然后显示查询的方式满足简单的英语声明。您可以使用各种工具代表E-R。
答案 2 :(得分:0)
在Toad中找到了如何做到这一点,我更喜欢上面的Sql Developer。 打开编辑窗口,粘贴sql,右键单击编辑器窗口并选择“发送到queryviewer” 我上面的sql太复杂了,不能使用这种技术,但很高兴知道我可以在将来使用更多“正常”查询。 指向塞尔吉奥。