数据修改小问题,速结贴

renyiqiu 2015-07-31 11:26:33

id code subject answer
1 001 Q11 1
1 001 Q11_y 1
1 002 Q11 2
1 002 Q11_y 1
1 003 Q11 1



表A里有上面的字段,我想在update 各自的code 里 ,当 subject字段的Q11为 1的时候,更新 Q11_y 的answer为2。
...全文
123 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Pact_Alice 2015-07-31
  • 打赏
  • 举报
回复
UPDATE a set a.answer=2 FROM # a LEFT JOIN (SELECT code,answer FROM # WHERE SUBJECT='Q11' AND answer=1)b ON a.code=b.code AND a.subject='Q11_y' WHERE b.answer IS NOT NULL
许晨旭 2015-07-31
  • 打赏
  • 举报
回复
create table #test
(
	id int,
	code varchar(10),
	[subject] varchar(20),
	answer int
)
insert into #test
select 1,'001','Q11',1  union all
select 1,'001','Q11_y',1 union all
select 1,'002','Q11',2 union all
select 1,'002','Q11_y',1 union all
select 1,'003','Q11',1


update #test set answer=2 
from (select * from #test where [subject]='Q11' and answer=1) a
where a.code=#test.code and #test.[subject]='Q11_y'

select * from #test
id          code       subject              answer
----------- ---------- -------------------- -----------
1           001        Q11                  1
1           001        Q11_y                2
1           002        Q11                  2
1           002        Q11_y                1
1           003        Q11                  1

(5 行受影响)

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧