2011-09-20 15 views

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

Non dimenticare di accettare la risposta corretta per favore – abatishchev

+3

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

3

Credo di si. Esempio dato here.

+0

L'uomo è stato veloce! Grazie. –

+0

Ho fatto alcuni test. Tu dove hai ragione, l'uso è lo stesso di un'istruzione SELECT. –

+1

Il collegamento porta a un esempio dell'utilizzo di APPLICAZIONI CROSS in un SELEZIONA non in un AGGIORNAMENTO. – WileCau