से आरेख बनाने के लिए टूल मेरे पास ओरेकल के लिए यह जटिल SQL क्वेरी है जिसे मैं अपने सहकर्मियों के लिए समझने योग्य बनाने के लिए एक आरेख में कल्पना करना चाहता हूं। मैंने http://snowflakejoins.com पर कोशिश की लेकिन यह सिर्फ उस पर चोक करता है।एसक्यूएल क्वेरी
क्या कोई बेहतर सुझाव है? मैं इंटरनेट पर एक वेब ऐप पसंद करता हूं और यदि खिड़कियों के लिए डेस्कटॉप ऐप नहीं है।
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
क्या आपने ओरेकल एसक्यूएल डेवलपर के "क्वेरी बिल्डर" टैब को आजमाया है? –
नहीं, कुछ सहयोगी एसक्यूएल डेवलपर का उपयोग करते हैं लेकिन मैं टॉड का उपयोग करता हूं, क्या यह सिर्फ एक क्वेरी से आरेख को इंजीनियर बनाता है या नहीं? अधिकांश ईआरडी कार्यक्रम सिर्फ डेटाबेस संरचना का निर्माण करते हैं। – peter
आप क्वेरी बना सकते हैं और टैब "क्वेरी बिल्डर" उपकरण आरेख पैदा करेगा करने के लिए परिवर्तित करते हैं। –