select *
from ( select * from table ) 'table1';
我看不出为什么会收到此错误:
错误1064(42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''table1'' at line 2
我查过了手册(MySQL subquery in FROM clause),我看不出这些例子和我的小陈述之间有什么区别。
答案 0 :(得分:3)
表名/别名必须用反引号包围或不包含任何内容
select *
from ( select * from table1 ) table1;
答案 1 :(得分:0)
我认为你想要引用而不是引用引号:
select *
from ( select * from table ) `table1`;
转发引号指定字符串常量。后引号分隔名称。
答案 2 :(得分:0)
如果您的子查询是一个表,则需要使用名称声明它。
select * from (select * from table1) as x
答案 3 :(得分:0)
除了不在别名周围添加引号之外,我相信你还需要在子查询中围绕“table”进行反引号,因为它是MySQL中的保留字(假设你确实将表命名为“table”):
select * from ( select * from `table` ) table1;