mysql嵌套子查询的问题

qq_28398475 2018-06-20 04:42:09
一层子查询可以正确得到结果,多层嵌套子查询报错。有没有其他写法,可以避免报错

select (select id from a where user_id=b.id),b.* from b ;--这个能正常得到结果

select (select a.id from (select id from a where user_id=b.id) a),b.* from b;--这个会报Unknown column 'b.id' in 'where clause'
...全文
701 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
verejava 2018-06-22
  • 打赏
  • 举报
回复
高级查询 子查询 ,相关子查询

http://www.verejava.com/?id=1717413210274
zjcxc 2018-06-22
  • 打赏
  • 举报
回复
子查询只能引用它外层查询的字段,也就是第3层只能引用第2层,不能引用第1层的,你的第2个子查询显然是试图在第3层引用第1层
MW_long 2018-06-22
  • 打赏
  • 举报
回复
select b.* from a, b where a.user_id = b.id;
Rotel-刘志东 2018-06-22
  • 打赏
  • 举报
回复
sql写法有问题。
DDL_will 2018-06-21
  • 打赏
  • 举报
回复
可以把子查询用join改写
oyljerry 2018-06-21
  • 打赏
  • 举报
回复
直接用join把,这样比较容易使用不同表的列等

56,866

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧