È possibile utilizzare la clausola cross apply nella parte from di un'istruzione di aggiornamento, in SQL Server 2005?Utilizzo di cross apply nell'aggiornamento
14
A
risposta
20
Yo dove destra Albert. Ho fatto alcuni test e ho scoperto che è possibile, anzi. L'uso è lo stesso di un'istruzione SELECT. Ad esempio:
UPDATE some_table
SET some_row = another_row,
some_row2 = 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)
WHERE ...
3
Non dimenticare di accettare la risposta corretta per favore – abatishchev
La query precedente mi ha dato l'errore "Sintassi errata vicino a") "." Mi ci è voluto un po 'per capire perché, quindi, voglio solo aggiungere la soluzione qui nel caso qualcuno vi si imbattesse. Aggiungendo un "come" dopo che la croce applicava l'istruzione select sembrava risolverlo. – Kjell