我正在尝试更新下表中的
order_date
列。要求如下:对于每个 Med_Number
,order_date
必须是最早/初始的 transaction_Date
。
例如
Med_number = M001
,order_date
必须是 03/02/2019。
更新前的表格:
我尝试使用这样的更新语句:
UPDATE Products.audit
SET Order_date = Transaction_Date
通过此查询,每一行将具有相同的订单日期和交易日期。不去
然后我使用以下查询手动更新每一行
UPDATE Products.audit
SET Order_date = '03/02/2019'
WHERE med_key = '13216584-M001-R1'
OR med_Key = '13216584-M001-R2'
我必须对每个
Med_Nunber
重复一遍,有效,但很耗时,如果我只有很少的记录,就会这样做。
我的表有大约70000个不同的
Med_number
,所以我无法手动更新表
我需要有关更新
order_date
的查询帮助。 TIA
您可以使用可更新的 CTE。
WITH cte AS (
SELECT *,
MIN(Transaction_Date) OVER (PARTITION BY Med_Number) AS MinTranDate
FROM Products.audit
)
UPDATE cte
SET Order_date = MinTranDate;