Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle SQL - Truy vấn để tính toán các giá trị từ nhiều bảng

Bạn có thể sử dụng nhiều biểu thức bảng phổ biến, tính toán từng biểu thức riêng biệt và kết hợp với nhau - chỉ để bạn hiểu điều gì đang xảy ra.

SQL Fiddle

Truy vấn :

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 

Kết quả :

|       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. Cách tách một chuỗi theo thứ tự với một chuỗi được phân tách bằng dấu phẩy và (có thể) các trường trống giữa dấu phẩy

  2. lỗi ký tự không hợp lệ trong khi thực thi ngay lập tức

  3. Không thể chạy truy vấn động trong thủ tục được lưu trữ trong khi chọn số lượng bản ghi

  4. Tôi có thể sử dụng chức năng phân tích của Oracle ở đây không?

  5. Oracle 11g đổi tên. Đảm bảo là nguyên tử?