Mysql
 sql >> Baza danych >  >> RDS >> Mysql

zapytanie aktualizujące mysql z zapytaniem podrzędnym

Głównym problemem jest to, że wewnętrzne zapytanie nie może być powiązane z twoim where klauzula na zewnętrznej update instrukcja, ponieważ filtr where stosuje się najpierw do aktualizowanej tabeli przed wykonaniem podzapytania wewnętrznego. Typowym sposobem radzenia sobie z taką sytuacją jest aktualizacja z wieloma tabelami .

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. NA ZDUPLIKOWANY KLUCZ + AUTO INCREMENT problem mysql

  2. Zwracaj tylko wartości liczbowe w MySQL

  3. Mysql 5.5.10 - Mac 10.6.x - automatyczne uruchamianie

  4. MySql przyznaj uprawnienia użytkownika

  5. Jak echo losowych wierszy z bazy danych?