2017-05-18 13 views
1

因为我得到了同样的错误类型在一些其他很多stackoverflow questions解释说:设置别名每个派生表在MySQL

MySQLSyntaxErrorException:每个派生的表必须有它自己的别名

仔细阅读后它包括每个重复问题(例如this one),我试图为每个派生表分配一个特定的别名。

这是我的示例查询:

SELECT pl.*, p.cat_1, pb.id 
FROM table_1 AS pl 
JOIN table_2 AS p ON p.id=pl.column_id 
JOIN table_3 AS pb ON pb.id=p.id 
JOIN table_4 AS u ON u.id=pl.user_id 
WHERE pl.value_1=2 AND pl.value_2 > 0 
ORDER BY id desc 

也许我做错了什么,也许这不是编写查询的最好方法?我不知道,但没有任何建议,我不明白这是什么问题,也因为在具体的查询运作良好如果它被执行。

有什么建议吗?

+0

AS的别名,为了还使用别名by子句 –

+0

ORDER BY ID说明使用别名表名ID例如像ORDER BY pb.id递减 – JYoThI

+1

查询中删除没有派生表。因此,该查询不会产生该错误。 –

回答

0


尝试使用下面的查询,

SELECT pl.*, p.cat_1, pb.id 
FROM table_1 pl 
JOIN table_2 p ON p.id=pl.column_id 
JOIN table_3 pb ON pb.id=p.id 
JOIN table_4 u ON u.id=pl.user_id 
WHERE pl.value_1=2 AND pl.value_2 > 0 
ORDER BY pb.id desc 
+0

谢谢@Jim,不幸的是这不是解决方案。我已经试着再次执行没有每个别名AS的查询,但问题仍然存在。 – UgoL

相关问题