SQL根据最近日期更新记录

时间:2019-11-27 04:34:29

标签: sql sql-server date sql-update updates

我正在尝试从同一文件(UNIT_COST)的(LST_RECV_COST)和VEND_ITEM_NO)更新两个字段(VEND_ITEM_NO)。

一个表(PO_VEND_ITEM)中的所有字段。该表具有按提交日期({{1})排序的序列行。

我想用最近日期行中的记录更新数据。 我使用了以下代码

LST_RECV_DAT

它总是得到任何错误消息。我是sql的新手,不知道可以使用哪些代码。

你能建议吗?

2 个答案:

答案 0 :(得分:1)

您在语法上有误。

尝试一下。

UPDATE PO_VEND_ITEM
SET UNIT_COST    = LST_RECV_COST,
    VEND_ITEM_NO = VEND_ITEM_NO
WHERE LST_RECV_DAT = (SELECT MAX(LST_RECV_DAT) FROM PO_VEND_ITEM)

答案 1 :(得分:0)

DML下使用,以基于max()字段更新表

update PO_VEND_ITEM
set UNIT_COST = LST_RECV_COST   
from
    (select max(LST_RECV_DAT) LST_RECV_DAT, 
    VEND_ITEM_NO from PO_VEND_ITEM
    group by VEND_ITEM_NO) t1
where VEND_ITEM_NO = t1.VEND_ITEM_NO and t1.LST_RECV_DAT = LST_RECV_DAT