sql select id from a where id=(select id from b where id=(select id from c where name='aaaaa'))

子查询返回的值不止一个。当子查询跟随在=、!=、<、<=、>、>=之后,或子查询用作表达式时,这种情况是不允许的。把=换成in也不行,换成any也不行,大神指导下... 子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
把=换成in 也不行,换成any也不行,大神指导下
展开
 我来答
百度网友ad384a3
2014-03-25 · 超过12用户采纳过TA的回答
知道小有建树答主
回答量:32
采纳率:0%
帮助的人:22.3万
展开全部
如果A表中id是主键,只想返回一个结果,用inner join 的话,结果可能是多个行,不符合要求
用exists
sql select a.id from a
where exists

select 1 from b
inner join c
on b.id=c.id
where c.name='aaaaa'
and a.id = b.id
chen_hongyang
推荐于2018-03-13 · TA获得超过5447个赞
知道大有可为答主
回答量:2790
采纳率:91%
帮助的人:871万
展开全部
sql select id from a where id=(select id from b where id=(select id from c where name='aaaaa'))
改成inner join
sql select a.id from a
inner join b
on a.id=b.id
inner join c
on b.id=c.id
where c.name='aaaaa'
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ab7100
2014-03-25 · TA获得超过3478个赞
知道答主
回答量:203
采纳率:0%
帮助的人:88.9万
展开全部
这肯定要用关联查询吧,没这样写过,前两个=都换成in呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式