Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Verwendung von cross apply in update-Anweisung

Du hattest Recht, Albert. Ich habe einige Tests gemacht und festgestellt, dass es tatsächlich möglich ist. Die Verwendung ist die gleiche wie in einem SELECT Aussage. Zum Beispiel:

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