Using cross apply in update statement

Guillermo Gutiérrez picture Guillermo Gutiérrez · Sep 21, 2011 · Viewed 22.4k times · Source

Is it possible to use the cross apply clause in the from part of an update statement, in SQL Server 2005?

Answer

Guillermo Gutiérrez picture Guillermo Gutiérrez · Sep 21, 2011

You where right, Albert. I made some tests and found that it's possible, indeed. The use is the same as in a SELECT statement. For example:

UPDATE some_table
SET some_row = A.another_row,
    some_row2 = A.another_row/2
FROM some_table st
  CROSS APPLY
    (SELECT TOP 1 another_row FROM another_table at WHERE at.shared_id=st.shared_id) AS A
WHERE ...