Сопоставьте 2 столбца sql if =, затем обновите другой столбец на 1

Мне нужно посмотреть, есть ли соответствие между тем, что кто-то подал в одной таблице, в другую таблицу в базе данных. Я не могу понять, как его настроить. Что я пытаюсь для

  IF tableA column A = tableB column B then table A column C = Column C + 1. 

Я пробовал метод обновления, но это, похоже, не работает для меня. Любая помощь будет большой. Спасибо.

Ответы

Ответ 1

Как правило, это будет:

UPDATE TABLE_A a JOIN TABLE_B b 
  ON a.join_col = b.join_col AND a.column_a = b.column_b
SET a.column_c = a.column_c + 1

Значение join_col, скорее всего, user_id, так что вы только обновляете строки в TABLE_A, где тот же самый пользователь имеет то же значение в TABLE_B.

Ответ 2

Я думаю, вы можете сделать это в mysql:

UPDATE TableA a, TableB b 
SET a.ColumnC = ColumnC + 1 
WHERE a.ColumnA = b.ColumnB; 

Ответ 3

если это то, что вы хотите

update tableA set colA=(select (case when b.colB=colA then colC+1 else colC end) from tableB b)