求教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列所有值
运行提示子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。 展开
a,b,c字段在两个表里面都有,e字段只在tab1表里面有
因为要把tab2表里面的a列的所有值,更新tab1表中a列所有值
运行提示子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。 展开
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
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
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询