So how long does that QUERY take to run and how many rows does it return?

My idea was to put that into a TEMP table - did you try it with Into #NewTempTable and then an UPDATE/FROM statement with this JOIN'd?