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

MySQL Sum cột IF ID nằm trong một truy vấn bảng khác

Tôi nghĩ rằng đây là một tham gia khá đơn giản, tổng hợp và nhóm bởi:

  SELECT t.r_id, SUM(t.work) work_sum
    FROM tasks t
    JOIN info i
      ON i.id = t.r_id
     AND i.date BETWEEN xxx AND yyy
GROUP BY t.r_id

Nếu bạn muốn một work_sum null cho các nhiệm vụ không có thông tin trong phạm vi đó:

   SELECT t.r_id, SUM(t.work) work_sum
     FROM tasks t
LEFT JOIN info i
       ON i.id = t.r_id
      AND i.date BETWEEN xxx AND yyy
 GROUP BY t.r_id

Nếu bạn muốn 0 work_sum cho các nhiệm vụ không có thông tin trong phạm vi đó:

   SELECT t.r_id, COALESCE(SUM(t.work),0) work_sum
     FROM tasks t
LEFT JOIN info i
       ON i.id = t.r_id
      AND i.date BETWEEN xxx AND yyy
 GROUP BY t.r_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. Tạo cây dựa trên Độ sâu từ Dữ liệu phân cấp trong MySQL (không có CTE)

  2. Cập nhật dữ liệu vào bảng từ trường đầu vào được tạo động

  3. nhận được truy vấn 2 ngày trước trong mysql

  4. MySQL ERROR 1045 (28000):Quyền truy cập bị từ chối đối với người dùng 'bill' @ 'localhost' (sử dụng mật khẩu:CÓ)

  5. Lỗi khi sử dụng ngoại trừ trong một truy vấn