Tôi có truy vấn SQL phức tạp này cho Oracle mà tôi muốn hình dung trong biểu đồ để làm cho nó dễ hiểu đối với đồng nghiệp của tôi. Tôi đã thử tại http://snowflakejoins.com nhưng nó chỉ chokes trên đó.Công cụ để tạo biểu đồ từ truy vấn SQL
Có ai đó đề xuất tốt hơn không? Tôi thích một ứng dụng web trên internet và nếu không phải là một ứng dụng dành cho máy tính để bàn cho các cửa sổ.
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
Bạn đã thử tab "Trình tạo truy vấn" của Nhà phát triển SQL Oracle chưa? –
Không, một số đồng nghiệp sử dụng nhà phát triển SQL nhưng tôi sử dụng Toad, điều đó chỉ xây dựng hoặc bạn có thể đảo ngược thiết kế sơ đồ từ truy vấn không? Hầu hết các chương trình ERD chỉ xây dựng một cấu trúc cơ sở dữ liệu. – peter
Nếu bạn tạo truy vấn và thay đổi tab thành "trình tạo truy vấn", công cụ sẽ tạo sơ đồ. –