Update table a from table b where (conditions)

sql, sql-server, sql-update, t-sql

Solution

You can do this via a join in the update:

Update a
Set a.importantField = b.importantField
From a Join b 
  On a.matchfield = b.matchfield
  And a.matchfield2 = b.matchfield2

Problem

Evening all, Actually, it's night. About 11pm. My brain is shutting down and I need a bit of help so I can finish and go home :) I have two tables - table a and table b. I need to update a field in table a with the value from a field in table b when two other fields match. The tables don't have a unique id for each record :( Basically, I want to do this: ``` update a set importantField = (select b.importantfield from b where a.matchfield = b.matchfield and a.matchfield2 = b.matchfield2 ) where a.matchfield = b.matchfield and a.matchfield2 = b.matchfield2 ``` Or at least... I think that's what I want to do... Can someone help me out, please?

Original source