从SQL查询生成图表的工具

5
我有一个复杂的Oracle SQL查询,我希望通过图表来可视化它,以便我的同事们能够理解。我尝试了在http://snowflakejoins.com上实现,但它无法处理这个查询。
是否有更好的建议?我更喜欢互联网上的Web应用程序,如果没有,也可以考虑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

1
你尝试过Oracle SQL Developer的“查询构建器”选项卡吗? - user800014
谢谢,但你首先必须在开发者中创建查询,不能直接使用上面的SQL吗? - peter
1
请查看您的查询输出:http://imageshack.us/photo/my-images/41/sqldeveloperoutput.png/ - user800014
太好了!我相信这是一个相对较新的功能,我的同事们使用开发者工具时并不知道这是可能的。如果您将其作为答案添加,我会接受它。 - peter
很酷!是的,我认为这是一个新功能。我发布了一个答案。 - user800014
显示剩余2条评论
3个回答

3
你可以使用Oracle的SQL Developer中的“查询构建器”选项卡。
你的示例查询的结果将是: query in query builder

0
每个子查询都是数据集,我会用简单的英语陈述查询的作用,然后描述数据集以及它们如何以实体关系方式相互关联,最后展示查询如何满足简单的英语陈述。您可以使用各种工具来表示实体关系模型。

1
似乎需要做很多工作,而且你知道,“一图胜千言”,我也更喜欢可重复使用的东西。 - peter

0

已经找到了在Toad中如何操作,我更喜欢它而不是Sql Developer。 打开编辑窗口,粘贴SQL,右键单击编辑窗口并选择“发送到查询查看器”。 我的SQL太复杂了,无法使用这种技术,但知道以后可以在更“正常”的查询中使用它很好。 感谢Sergio。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接