2016-04-30 3 views
0

ignorierte ich das Ganze AZ sortieren und es funktioniert gut, aber wenn ich versuche, und sortieren Sie nach nur 1 Brief, es funktioniert nicht ..Alphabetisch MYSQL sortieren nach Buchstaben ergeben das Präfix ‚Die‘

Zum Beispiel:

"SELECT *,TRIM(LEADING 'the ' FROM LOWER(title)) AS title_x FROM table ORDER BY title_x ASC" 

das funktioniert gut und Sorten/holt die Ergebnisse AZ ohne Berücksichtigung der 'The' .. Aber:

"SELECT *,TRIM(LEADING 'the ' FROM LOWER(title)) AS title_x FROM table WHERE title_x LIKE 'A%' ORDER BY title_x ASC" 

nicht funktioniert, es sagt nur „Unknown column 'title_x' in‚where cl ause '"

Kann mir jemand helfen, das zu korrigieren? Vielen Dank.

UPDATE

Für jemand dieses Problem haben, die Änderung der WHERE für perfekt macht diese Arbeit DAR.

+1

Sie können eine Spalte in einer WHERE-Klausel (als Alias) nicht verwenden, wenn die Spalte selbst nicht existiert. –

+0

Also wie kann ich das dann erreichen? – FoxyFish

+1

'WHERE title LIKE' oder was auch immer echte Spalte existiert –

Antwort

-1

ich denke, es ist nicht möglich, Alias ​​in where-Klausel zu verwenden. Sie können eine Unterabfrage oder eine geschachtelte Abfrage verwenden, um dieses Problem zu lösen.

+0

Das wurde in Kommentaren festgestellt. Hattest du einen Code, um dies zu untermauern? Deine Frage ist momentan von geringer Qualität und eher ein Kommentar. –