12
Cần INNER JOIN một resultset được trả về bởi UPDATE OUTPUT với một bảng và trả về kết quả. Có thể không?INNER JOIN trong vòng UPDATE OUTPUT trong một truy vấn t-sql
Dưới đây là một ví dụ nhỏ:
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
Cần cập nhật OrderId trên bàn CustomerOrders và gửi lại tên của các khách hàng, tất cả trong 1 shot. Cho đến nay tôi chỉ có thể trở lại CustomerIds:
UPDATE CustomerOrders SET OrderId=NULL
OUTPUT Deleted.CustomerId
WHERE OrderId='1'
... o_O là soooo đơn giản!? ?? !! – kateroh