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

truy vấn cập nhật mysql với truy vấn phụ

Vấn đề chính là truy vấn bên trong không thể liên quan đến where của bạn mệnh đề trên update bên ngoài vì bộ lọc where áp dụng đầu tiên cho bảng đang được cập nhật trước khi truy vấn con bên trong thậm chí thực thi. Cách điển hình để xử lý tình huống như thế này là cập nhật nhiều bảng .

Update
  Competition as C
  inner join (
    select CompetitionId, count(*) as NumberOfTeams
    from PicksPoints as p
    where UserCompetitionID is not NULL
    group by CompetitionID
  ) as A on C.CompetitionID = A.CompetitionID
set C.NumberOfTeams = A.NumberOfTeams

Demo: http://www.sqlfiddle.com/#!2/a74f3/1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Việc giới hạn một truy vấn trong một bản ghi có cải thiện hiệu suất không

  2. Làm cách nào để bạn kết nối với cơ sở dữ liệu MySQL bằng Oracle SQL Developer?

  3. Truy vấn MySql Thay thế NULL bằng Chuỗi trống trong Lựa chọn

  4. Chạy di chuyển với Rails trong vùng chứa Docker với nhiều bản sao vùng chứa

  5. Làm thế nào để tạo một trường NULL bằng MySQL GUI Tools?