gpt4 book ai didi

sql - 使用其他列的值更新表列

转载 作者:行者123 更新时间:2023-12-02 21:33:47 24 4
gpt4 key购买 nike

我有一张这样的表格:

Client | Date       | Value 1 | Value 2 |
1 2013-11-08 159 159
1 2013-11-09 254 254
1 2013-12-05 512 512
1 2014-01-02 1200 1200
2 2013-11-10 189 189
2 2013-11-15 289 289
2 2013-12-22 585 585
2 2014-01-06 1650 1650

我需要更新 SQL 中的表,如下所示:

Client | Date       | Value 1 | Value 2 |
1 2013-11-08 159 1200
1 2013-11-09 254 1200
1 2013-12-05 512 1200
1 2014-01-02 1200 1200
2 2013-11-10 189 1650
2 2013-11-15 289 1650
2 2013-12-22 585 1650
2 2014-01-06 1650 1650

这个想法是,对于每个客户端,值 2 将变为 值 1,其中 日期 是最新的。

最佳答案

在 SQL Server 中,最好使用的是带有 UPDATE 语句的 CTE。下面的查询演示了您需要执行的操作的语法。您所要做的就是替换表名称和列名称。

;WITH    MyUpdate
AS ( SELECT ClientId
,Value1
,ROW_NUMBER() OVER ( PARTITION BY ClientId ORDER BY MyDate DESC ) AS RowNum
FROM MyTable)
UPDATE MyTable
SET MyTable.Value2 = MyUpdate.Value1
FROM MyTable
INNER JOIN MyUpdate
ON MyUpdate.ClientID = MyTable.ClientID
AND RowNum = 1

关于sql - 使用其他列的值更新表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21854202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com