Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle SQL - एकाधिक तालिकाओं से मानों की गणना करने के लिए क्वेरी

आप एक से अधिक सामान्य तालिका अभिव्यक्तियों का उपयोग कर सकते हैं, प्रत्येक की अलग-अलग गणना कर सकते हैं और एक साथ जुड़ सकते हैं - केवल आपके लिए यह समझने के लिए कि क्या हो रहा है।

SQL Fiddle

क्वेरी :

WITH aud(manager_email,Total_audits) AS
  (SELECT manager_email,
    SUM (
    CASE
      WHEN audit_eligible = 'Y'
      THEN audits_required
    END )
  FROM REQUIRED_AUDITS
  GROUP BY manager_email
  ),  --Total_audits

  scores(manager_email,Audits_Performed) AS
  (SELECT manager_email,
    COUNT ( ID )
  FROM SCORE_ENTRY s
  GROUP BY manager_email
  )  --Audits_Performed

SELECT h.manager_email manager,
  a.Total_audits,
  s.Audits_Performed,
  100 * s.Audits_Performed / a.Total_audits percentage_complete
FROM HR h
LEFT OUTER JOIN aud a
ON h.manager_email = a.manager_email
LEFT OUTER JOIN scores s
ON h.manager_email = s.manager_email
ORDER BY 2 DESC NULLS LAST 

परिणाम :

|       MANAGER | TOTAL_AUDITS | AUDITS_PERFORMED | PERCENTAGE_COMPLETE |
|---------------|--------------|------------------|---------------------|
|  [email protected] |           10 |                1 |                  10 |
| [email protected] |            9 |                2 |   22.22222222222222 |
| [email protected] |       (null) |           (null) |              (null) |
|  [email protected] |       (null) |           (null) |              (null) |
| [email protected] |       (null) |           (null) |              (null) |


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. IF EXISTS स्थिति PLSQL के साथ काम नहीं कर रही है

  2. रेंज फिल टेबल

  3. Oracle SQL चयन में पंक्तियों की संख्या?

  4. अधिक सुरुचिपूर्ण एसक्यूएल?

  5. पीएल/एसक्यूएल में अद्यतन से प्रभावित पंक्तियों की संख्या