2017-05-18 4 views
1

Da ich die gleiche Fehlertyp in einigen vielen anderen stackoverflow questions erklärt habe:Einstellung Alias ​​für jede abgeleitete Tabelle in mysql

MySQLSyntaxErrorException: Jede abgeleitete Tabelle muss seinen eigenen alias

haben Sie nach sorgfältiger es einschließlich jede einzelne doppelte Frage (wie this one zum Beispiel), habe ich versucht, für jede abgeleitete Tabelle einen bestimmten Alias ​​zuzuweisen.

Dies ist mein Beispiel Abfrage:

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 

Wahrscheinlich etwas mache ich falsch, vielleicht ist dies nicht der beste Weg, um die Abfrage zu schreiben? Ich weiß es nicht, aber ohne irgendwelche Vorschläge kann ich nicht verstehen, was das Problem ist, auch weil die Abfrage in Beton gut funktioniert, wenn es ausgeführt wird.

Irgendwelche Vorschläge?

+0

entfernen AS in der Alias ​​auch Alias, um durch Klausel –

+0

ORDER BY id desc Verwendung alias Tabellenname für id Beispiel wie ORDER BY pb.id desc – JYoThI

+1

Ihre Abfrage verwenden hat keine abgeleitete Tabelle. Daher würde diese Abfrage diesen Fehler nicht erzeugen. –

Antwort

0


Versuchen Sie unter Abfrage,

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

Danke @Jim, leider ist das nicht die Lösung. Ich habe bereits versucht, die Abfrage ohne AS für jeden Alias ​​erneut auszuführen, aber das Problem bleibt bestehen. – UgoL

Verwandte Themen