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_PerformedSELECT h.manager_email мениджър, a.Total_audits, s.Audits_Performed, 100 * s.Audits_Performed / a.Total_audits percentage_completeFROM HR hLEFT OUTER JOIN aud aON h.manager_email =.manager_emailLEFT OUTER JOIN резултати sON h.manager_email =s.manager_emailORDER BY 2 DESC NULLS LAST  

Резултати :

<предварителен код>| УПРАВИТЕЛ | TOTAL_AUDITS | ОДИТИ_ИЗВЪРШЕНИ | PERCENTAGE_COMPLETE ||---------------|--------------|---------------- --|--------------------|| [email protected] | 10 | 1 | 10 || [email protected] | 9 | 2 | 22.22222222222222 || [email protected] | (нула) | (нула) | (нула) || [email protected] | (нула) | (нула) | (нула) || [email protected] | (нула) | (нула) | (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. Актуализация на SQL с обединения

  2. Oracle вмъкнете в table2, след което изтрийте от table1, изключение, ако не успеете

  3. Oracle SQL за непрекъснато групиране

  4. Какво да направите, ако получите неправилна порядкова грешка при отметка, когато използвате SQL Server с нашия Oracle ODBC драйвер

  5. Изберете първия ред на всяка група в sql