别名

时间:2016-06-26 18:26:37

标签: mysql alias

我试图运行此示例查询:
 SELECT * FROM (SELECT * FROM orders WHERE id > 2) AS o1 JOIN o1 AS o2 ON o1.id = o2.id;

但发生此错误:

  

错误代码:1146   表' pnu.o1'不存在

我应该如何加入子查询?

1 个答案:

答案 0 :(得分:0)

您的数据库中不存在o1之类的内容。您已将其创建为alias,但无法使用此alias

您必须再次编写此子查询并创建它的新别名:

SELECT * FROM 
    (SELECT * FROM orders WHERE id > 2) AS o1 
    JOIN 
    (SELECT * FROM orders WHERE id > 2) AS o2 
    ON o1.id = o2.id;

或者临时表可能是另一种选择。