求教sql server子查询返回多个值的处理方法

updatetab1seta=(selectafromtab2whereb=tab1.bandc=tab1.c)whereeisnulla,b,c字段在两个表里面都有,e... update tab1 set a = (select a from tab2 where b = tab1.b and c = tab1.c) where e is null

a,b,c字段在两个表里面都有,e字段只在tab1表里面有

因为要把tab2表里面的a列的所有值,更新tab1表中a列所有值

运行提示子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
展开
 我来答
huuboo5
2015-07-20 · 超过61用户采纳过TA的回答
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:95.1万
展开全部
直接通过inner 就ok

update a
set a a.a=b.a

from tab1 a

inner join tab2 b on a.b=a.b and a.c=b.c
追问
update a
set a a.a=b.a
这一句是什么意思呢
或者说子查询返回多个值时,该怎么修改让其返回多个值
追答
实际上上面笔误,多写了一个a
update a
set a.a=b.a
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式