Использование перекрестного применения в обновлении - PullRequest
21 голосов
/ 21 сентября 2011

Можно ли использовать условие перекрестного применения в части from оператора update в SQL Server 2005?

1 Ответ

29 голосов
/ 21 сентября 2011

Ты где прав, Альберт.Я сделал несколько тестов и обнаружил, что это действительно возможно.Использование такое же, как в выражении SELECT.Например:

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 ...
...