2012-01-20 18 views
5

से आरेख बनाने के लिए टूल मेरे पास ओरेकल के लिए यह जटिल 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 
+1

क्या आपने ओरेकल एसक्यूएल डेवलपर के "क्वेरी बिल्डर" टैब को आजमाया है? –

+0

नहीं, कुछ सहयोगी एसक्यूएल डेवलपर का उपयोग करते हैं लेकिन मैं टॉड का उपयोग करता हूं, क्या यह सिर्फ एक क्वेरी से आरेख को इंजीनियर बनाता है या नहीं? अधिकांश ईआरडी कार्यक्रम सिर्फ डेटाबेस संरचना का निर्माण करते हैं। – peter

+0

आप क्वेरी बना सकते हैं और टैब "क्वेरी बिल्डर" उपकरण आरेख पैदा करेगा करने के लिए परिवर्तित करते हैं। –

उत्तर

3

आप ओरेकल के एसक्यूएल डेवलपर के "क्वेरी बिल्डर" टैब का उपयोग कर सकते हैं।

अपने नमूना क्वेरी का परिणाम हो जाएगा:

query in query builder

0

उप प्रश्नों में से प्रत्येक डेटा सेट कर रहे हैं, मैं तो बस क्या क्वेरी है, तो डेटा सेट का वर्णन का एक सादे अंग्रेजी बयान बनाना होगा और कैसे वे एक इकाई-संबंध ढंग से एक दूसरे से संबंधित है, तो दिखाएं कि क्वेरी सादे अंग्रेजी कथन को कैसे संतुष्ट करती है। आप किसी भी प्रकार के औजारों के साथ ई-आर का प्रतिनिधित्व कर सकते हैं।

+0

बहुत काम की तरह लगता है और आप जानते हैं, एक तस्वीर (चित्र) का कहना है और अधिक से अधिक एक हजार शब्दों के भी कुछ पुन: प्रयोज्य पसंद करेंगे – peter

0

मिल गया है कैसे टॉड, जो मैं SQL डेवलपर ऊपर पसंद में यह करने के लिए। , editorwindow खोलें editorwindow में एसक्यूएल, rightclick पेस्ट और चुनें मेरे एसक्यूएल ऊपर इस तकनीक का उपयोग करने के लिए बहुत ही जटिल है "queryviewer को भेजें" लेकिन यह पता करने के लिए मैं और अधिक "सामान्य" प्रश्नों के साथ भविष्य में उपयोग कर सकते हैं अच्छा है। सर्जीओ के लिए अंक।

संबंधित मुद्दे