gpt4 book ai didi

sql-server - TSQL - 从自身更新表

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

表格项目(4 列,为了清晰起见进行了简化)

Record | Item | Price | Zone

数据

1      | 100  | 10.00 | A2      | 100  | NULL  | B3      | 100  | NULL  | C4      | 200  | 25.00 | A5      | 200  | NULL  | B

尝试使用基于 Item 的非 NULL 中的相应值来更新 NULL。因此,所有 Item 100 的读数均为 10.00,而 Item 200 的读数均为 25.00。

我觉得这应该非常简单,但无法弄清楚 self 引用。

谢谢

最佳答案

给你

UPDATE a
SET a.Price=b.Price
FROM Item AS a
INNER JOIN Item AS b
ON a.item=b.item
WHERE a.Price is NULL AND b.price is NOT NULL

或者如果有多个非空价格并且您想要选择最高价格。

 UPDATE a
SET a.Price=(SELECT MAX(b.PRICE) FROM ITEM AS b WHERE b.Item=a.Item and b.Price is not null )
FROM Item AS a
WHERE a.Price is NULL

关于sql-server - TSQL - 从自身更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12151107/

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