Mysql
 sql >> база данни >  >> RDS >> Mysql

Заявка за актуализиране на mysql с подзаявка

Основният проблем е, че вътрешната заявка не може да бъде свързана с вашето where клауза за външната update оператор, тъй като филтърът where се прилага първо към таблицата, която се актуализира, преди дори вътрешната подзаявка да се изпълни. Типичният начин за справяне със ситуация като тази е актуализация на няколко таблици .

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

Демо: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. Вмъкване на елементи в падащото меню за стартиране от SQL таблица

  2. Какво е по-добре - много малки маси или една голяма маса?

  3. Как мога да имам планирани събития в MySQL log?

  4. Получаване на последно въведен идентификатор от MySQL в Yii

  5. mysql PDO как да обвържем LIKE