gpt4 book ai didi

SQL Server - 从同一表中的数据更新列

转载 作者:行者123 更新时间:2023-12-01 22:14:14 27 4
gpt4 key购买 nike

我有一个看起来像这样的表格:

SetId      ID       Premium
2012 5 Y
2012 6 Y
2013 5 N
2013 6 N

我想使用 setid 等于 2012 年的溢值(value)更新 2013 年记录。

所以在查询之后它看起来像这样:

SetId      ID       Premium
2012 5 Y
2012 6 Y
2013 5 Y
2013 6 Y

非常感谢任何帮助

最佳答案

不清楚您要使用哪个 2012 年值来更新哪个 2013 年值,我假设 ID 应该相同。

使用表变量的完整示例,您可以在 Management Studio 中自行测试。

DECLARE @Tbl TABLE (
SetId INT,
Id INT,
Premium VARCHAR(1)
)

INSERT INTO @Tbl VALUES (2012, 5, 'Y')
INSERT INTO @Tbl VALUES (2012, 6, 'Y')
INSERT INTO @Tbl VALUES (2013, 5, 'N')
INSERT INTO @Tbl VALUES (2013, 6, 'N')

--Before Update
SELECT * FROM @Tbl

--Something like this is what you need
UPDATE t
SET t.Premium = t2.Premium
FROM @Tbl t
INNER JOIN @Tbl t2 ON t.Id = t2.Id
WHERE t2.SetId = 2012 AND t.SetId = 2013

--After Update
SELECT * FROM @Tbl

关于SQL Server - 从同一表中的数据更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19094023/

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