子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后

updatetab1seta=(selectafromtab2whereb=tab1.bandc=tab1.c)whered='2014'andeisnulla,b,c字... update tab1 set a =
(select a from tab2 where b = tab1.b and c = tab1.c)
where d = '2014' and e is null
a,b,c字段在两个表里面都有,d,e字段只在tab1表里面有
运行提示子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
展开
 我来答
仙戈雅3n
2015-07-20 · TA获得超过5790个赞
知道大有可为答主
回答量:2398
采纳率:75%
帮助的人:902万
展开全部
-- 加一个top1即可
update tab1 set a = 
(select top(1) a from tab2 where b = tab1.b and c = tab1.c)
where  d = '2014' and e is null
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式