mysql子查询问题(很奇葩的子查询)
我有三张表student和student_app表里放了学生关键信息和基本信息student_virtual下的data_index放了要在页面上显示的字段名字,这些字段...
我有三张表 student和student_app表里放了学生关键信息和基本信息
student_virtual下的data_index放了要在页面上显示的字段名字,这些字段的值是student和student_app是字段
select (select data_index from student_virtual where table_name ='student') from student left join student_app using(student_id);
但是一直报错,mysql是不是不支持这样的子查询,应该怎么该sql语句才能满足我的需求 展开
student_virtual下的data_index放了要在页面上显示的字段名字,这些字段的值是student和student_app是字段
select (select data_index from student_virtual where table_name ='student') from student left join student_app using(student_id);
但是一直报错,mysql是不是不支持这样的子查询,应该怎么该sql语句才能满足我的需求 展开
2个回答
2020-12-22 · MySQL开源数据库领先者
关注
展开全部
Semi-join 限制
不过并不是所有子查询都是半联接,必须满足以下条件:
- 子查询必须是出现在顶层的 WHERE、ON 子句后面的 IN 或者 =ANY
- 子查询必须是单个 select,不能是 union;
- 子查询不能有 group by 或者 having 子句(可以用 semijoin materialization 策略,其他不可以 );
- It must not be implicitly grouped (it must contain no aggregate functions). (不知道啥意思,保持原文);
- 子查询不能有 order by with limit;
- 父查询中不能有 STRAIGHT_JOIN 指定联接顺序;
- The number of outer and inner tables together must be less than the maximum number of tables permitted in a join.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询