Ricky
Ricky

Reputation: 5201

Match 2 sql columns if = then update a different column by 1

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.

Upvotes: 3

Views: 4286

Answers (3)

Kevin Bedell
Kevin Bedell

Reputation: 13404

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.

Upvotes: 4

Pradyut Bhattacharya
Pradyut Bhattacharya

Reputation: 5748

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)

Upvotes: 1

Bulat
Bulat

Reputation: 6969

I guess you can do this in mysql:

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

Upvotes: 2

Related Questions