gpt4 book ai didi

sql-server - 根据另一列更新列

转载 作者:搜寻专家 更新时间:2023-10-30 23:04:29 25 4
gpt4 key购买 nike

我有一个包含四列的表,我想根据该行的 col1 更新 col4(如果其 col3 值为 false),该行的 col3 值为真且其 col2 等于更新后的 col2。数据就像

第 1 列第 2 列第 3 列第 4 列

1     JOhn  false   NULL
2 Hony false NULL
3 John true NULL
4 Rohn false NULL
5 Hony true NULL

我希望第一行的 col4 有 3,第二行的 col4 有 5。

我的查询是

Update tab
set tab.col4 = tab.col1
from table tab
where tab.col3 = true

但它只更新具有真实值的行。

最佳答案

刚刚用 SQL Fiddle 试过了:

create table tbl_SO_19
(
col1 int,
col2 varchar(50),
col3 bit,
col4 int
)
go
insert into tbl_SO_19
values
(1,'John',0,null),
(2,'Hony',0,null),
(3,'John',1,null),
(4,'Rohn',0,null),
(5,'Hony',1,null)

现在您可以使用下面的查询来根据需要更新它:

Update tbl_SO_19
set col4 = t.col1
from tbl_SO_19 join tbl_SO_19 t on t.col2=tbl_SO_19.col2 and t.col3=1
where tbl_SO_19.col3 = 0

关于sql-server - 根据另一列更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28397342/

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