SQL 使用 select 作为过滤器更新 table

SQL Update table with select as filter

我想过滤 table“订单”的选择。table“订单”现在有超过 40k 行,如果我想使用电源自动化,我是 运行 在缓冲区问题中,所以我只想用特定的订单状态更新“订单”table 中的订单。我有 4 个订单状态需要检查,它们是

'processing_awaiting_shipment'
'processing_awaiting_payment'
'processing_ready_for_pickup'
'processing_awaiting_pickup'

有人可以帮我解决下面脚本中的 WHERE 函数吗?

我现在运行的剧本:

SELECT * FROM Orders_Update_Status
SELECT * FROM Orders 

UPDATE Per 
  SET Per.[Bestel Status]=Addr.[Order status], 
      Per.[Totaal Prijs]=Addr.[Totaal Price] 
FROM Orders Per 
INNER JOIN Orders_Update_Status Addr ON Per.[Order ID] = Addr.[Order ID]

这是您要找的吗?请提供示例数据和所需的输出。由于更新语句的语法,我假设您正在使用 SQL 服务器。

UPDATE o
  SET o.[Bestel Status]=s.[Order status], 
      o.[Totaal Prijs]=s.[Totaal Price] 
FROM Orders o 
INNER JOIN Orders_Update_Status s ON s.[Order ID] = o.[Order ID]
WHERE 
s.[Order status] IN ('processing_awaiting_shipment', 'processing_awaiting_payment',
'processing_ready_for_pickup','processing_awaiting_pickup')