INNER JOIN в UPDATE OUTPUT в одном запросе t-sql

Необходимо ВНУТРЕННЕЕ СОЕДИНЕНИЕ набора результатов, возвращаемого UPDATE OUTPUT, с другой таблицей и возвращение результатов. Возможно ли это?

Вот небольшой пример:

CREATE TABLE [dbo].[Customers]
(   
   [CustomerId] [int],   
   [CustomerName]  [nvarchar](50)
)
GO

CREATE TABLE [dbo].[Orders]
(   
   [OrderId] [int],   
   [OrderName]  [nvarchar](50)
)
GO

CREATE TABLE [dbo].[CustomerOrders]
(   
   [CustomerId] [int],   
   [OrderId]  [int]
)
GO

INSERT INTO CustomerOrders (CustomerId, OrderId) VALUES (1, 1)
INSERT INTO CustomerOrders (CustomerId, OrderId) VALUES (1, 2)
INSERT INTO CustomerOrders (CustomerId, OrderId) VALUES (2, 1)
GO

Требуется обновить OrderId в таблице CustomerOrders и возвращают имена клиентов, все в одном кадре. Пока я могу вернуть только CustomerIds:

UPDATE CustomerOrders SET OrderId=NULL 
OUTPUT Deleted.CustomerId
WHERE OrderId='1'
16
задан OMG Ponies 13 November 2010 в 01:26
поделиться