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

Làm một số tính tổng khá cơ bản với các bảng khác nhau

Một cách tiếp cận sẽ là sử dụng các khung nhìn nội tuyến. Để làm điều này

  • Tạo một truy vấn tính tổng số điểm đã kiếm được
  • Tạo một truy vấn tính tổng số điểm đã chi
  • Kết hợp các truy vấn với nhau (kết hợp bên trái trong trường hợp họ chưa chi tiêu gì)
  • Thực hiện phép trừ của bạn


SELECT SumOfPointsEarned.Points - COALESCE(SumOfPointsOfPurchasesMade.Points, 0) AS CurrentPoints
FROM   
(
    SELECT SUM(Points) AS Points, Recipient_ID 
    FROM   transactions 
            WHERE Recipient_ID= 137642
    GROUP  BY Recipient_ID
) AS SumOfPointsEarned 
    LEFT JOIN 
    (
        SELECT purchases.Student_ID,  SUM(rewards.Cost_to_User) AS Points 
        FROM   purchases 
            INNER JOIN rewards 
            ON purchases.Reward_ID = rewards.Reward_ID 
                    WHERE Student_ID = 137642
        GROUP  BY purchases.Student_ID
    ) AS SumOfPointsOfPurchasesMade 
    ON SumOfPointsEarned.Recipient_ID = SumOfPointsOfPurchasesMade.Student_ID


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. làm cách nào để chọn AVG của nhiều cột trên một hàng

  2. Không thể tìm cách lấy dữ liệu từ MySql Query

  3. Sử dụng Cố vấn Sao lưu Cơ sở dữ liệu để Tự động hóa Nhiệm vụ Bảo trì

  4. Liên hệ với Biểu mẫu 7 với Cơ sở dữ liệu Người dùng Wordpress

  5. Lỗi khởi động lại hộp mực MySQL Openshift