Frage:
Abfragen, die Aliase in der SELECT-Anweisung verwenden, verursachen einen Fehler und führen zu einer unbekannten Aliasspalte in der WHERE-Anweisung. Beispielsweise löst die folgende Abfrage diesen Fehler aus:
<code class="language-sql">SELECT u_name AS user_name FROM users WHERE user_name = "john";</code>
Erklärung:
Die Ausführungsreihenfolge von SQL ist von rechts nach links. In diesem Beispiel wird die WHERE-Klausel vor der SELECT-Klausel ausgeführt. Daher wurde beim Parsen der WHERE-Klausel der Alias user_name
noch nicht definiert.
Lösung:
Um dieses Problem zu lösen, können Sie die ursprünglichen Spaltennamen in der WHERE-Klausel verwenden:
<code class="language-sql">SELECT u_name AS user_name FROM users WHERE u_name = "john";</code>
Oder schließen Sie den Alias-Spaltennamen in Klammern in die WHERE-Klausel ein:
<code class="language-sql">SELECT u_name AS user_name FROM users WHERE (user_name = "john");</code>
Das obige ist der detaillierte Inhalt vonWarum schlägt meine SQL-Abfrage mit „Unbekannte Spalte in Where-Klausel' fehl, wenn Aliase verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!