sql update 子查询修改

我有个表tr1r2r312a22b33c我想实现updatetsetr2=(selectr2fromtwherer2=(外面的r2))wherer2=3也就是第三行的R2... 我有个表t
r1 r2 r3
1 2 a
2 2 b
3 3 c
我想实现update t set r2=(select r2 from t where r2=(外面的r2)) where r2=3 也就是第三行的R2就变成2了.
我试过update t A set r2=(select r2 from t B where B.r2=A.r2) where r2=3 这样说有语法错误..不知道怎么样实现 B.r2=A.r2有效果SELECT里面是这可以的,
update thenum=(select thenum from socres where thedate='2008-1-1' ) where thedate='2008-1-2' and stuid=22 我想使里面的STUID=外面的..因为要更新很多条.不能直接把22写上去
展开
 我来答
sytdeedee
推荐于2018-05-10 · TA获得超过442个赞
知道小有建树答主
回答量:694
采纳率:0%
帮助的人:622万
展开全部
我试过update t A set r2=(select r2 from t B where B.r2=A.r2) where r2=3 这样说有语法错误..

这句话是错的

应该是这样:
update t set r2=(select r2 from t B,T A where B.r2=A.r2)
where r2=3
但是我不明白你的意思B.r2=A.r2??什么意思??

你HI我把
CloudPRose
2009-01-05 · TA获得超过5175个赞
知道大有可为答主
回答量:3175
采纳率:66%
帮助的人:873万
展开全部
update t A set r2=(select TOP 1 r2 from t B where B.r2=A.r2) where r2=3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朩朩熋
2009-01-04 · TA获得超过1567个赞
知道小有建树答主
回答量:440
采纳率:0%
帮助的人:0
展开全部
update t set r2 = (select distinct r2 from t where r2 <> 3) where r2 = 3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shen1830
2009-01-04 · TA获得超过232个赞
知道小有建树答主
回答量:583
采纳率:0%
帮助的人:190万
展开全部
不用别名,用户表明.字段名,试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式