3
votes

Im looking to see if there is a match between what someone submitted in one table to a different table in the database. I can't quite figure out how to set it up. What im trying for is

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

I have tried the update method but that seems to not be working for me. Any help would be great. Thanks.

3
left join? inner join? is this psuedocode? what is your query? results? expected results? - Hituptony

3 Answers

3
votes

Generally it would be this:

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

The join_col value is likely the user_id so that you only update rows in TABLE_A where that same user has the same value in TABLE_B.

1
votes

I guess you can do this in mysql:

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

if this is what you want

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