Я выбрал из этой команды:
SELECT [Product].[Id] AS [Id],
[Product].[ProductName] AS [ProductName],
[Product].[SupplierId] AS [SupplierId],
[Product].[UnitPrice] AS [UnitPrice],
[Product].[Package] AS [Package],
[Order].[TotalAmount] AS [TotalAmount]
FROM [OrderItem]
FULL JOIN [Order] ON [OrderItem].[OrderId] = [Order].[Id]
FULL JOIN [Product] ON [OrderItem].[ProductId] = [Product].[Id]
FULL JOIN [Customer] ON [Order].[CustomerId] = [Customer].[Id]
FULL JOIN [Supplier] ON [Product].[SupplierId] = [Supplier].[Id]
WHERE ([Product].[Id] IN ('2', '3'))
Это выдаст:
Id ProductName SupplierId UnitPrice Package TotalAmount
2 Chang 1 20.00 24 - 12 oz bottles 2490.50
2 Chang 1 20.00 24 - 12 oz bottles 2018.60
2 Chang 1 20.00 24 - 12 oz bottles 724.50
2 Chang 1 20.00 24 - 12 oz bottles 3127.00
2 Chang 1 20.00 24 - 12 oz bottles 2262.50
2 Chang 1 20.00 24 - 12 oz bottles 2545.20
2 Chang 1 20.00 24 - 12 oz bottles 2300.80
2 Chang 1 20.00 24 - 12 oz bottles 3302.60
...
Можно ли обновить [Order].[TotalAmount]
на основе вывода строки из команды выбора? Например в строке 2 значение 2018,6 к чему-то еще? Условие не должно быть «где 2018,6», так как оно может перезаписать все равные значения.
Или мне нужно включить идентификаторы из таблицы [Order]
и обновить на основе этого идентификатора?
Изменить: Если бы я изменил значение строки 2 «TotalAmount» на 500, вывод таблицы будет:
Id ProductName SupplierId UnitPrice Package TotalAmount
2 Chang 1 20.00 24 - 12 oz bottles 2490.50
2 Chang 1 20.00 24 - 12 oz bottles 500.00
2 Chang 1 20.00 24 - 12 oz bottles 724.50
2 Chang 1 20.00 24 - 12 oz bottles 3127.00
2 Chang 1 20.00 24 - 12 oz bottles 2262.50
2 Chang 1 20.00 24 - 12 oz bottles 2545.20
2 Chang 1 20.00 24 - 12 oz bottles 2300.80
2 Chang 1 20.00 24 - 12 oz bottles 3302.60
...