sql >> Databáze >  >> RDS >> Mysql

mysql aktualizační dotaz s dílčím dotazem

Hlavním problémem je, že vnitřní dotaz nemůže souviset s vaším where klauzule na vnějším update protože filtr kde se nejprve použije na aktualizovanou tabulku ještě před provedením vnitřního poddotazu. Typickým způsobem řešení takové situace je aktualizace více tabulek .

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. Jak mohu použít UUID v SQLAlchemy?

  2. AKTUALIZACE SQL

  3. Jak vygeneruji sérii hodinových průměrů v MySQL?

  4. Kolik místa na disku je potřeba k uložení hodnoty NULL pomocí postgresql DB?