【发布时间】:2016-05-01 08:43:44
【问题描述】:
我可以对整个 A-Z 进行排序,它工作正常,但如果我尝试只按 1 个字母排序,它就行不通..
例如:
"SELECT *,TRIM(LEADING 'the ' FROM LOWER(title)) AS title_x FROM table ORDER BY title_x ASC"
这工作正常,并排序/获取结果 A-Z 不考虑“The”.. 但是:
"SELECT *,TRIM(LEADING 'the ' FROM LOWER(title)) AS title_x FROM table WHERE title_x LIKE 'A%' ORDER BY title_x ASC"
不起作用,它只是说“'where 子句'中的未知列'title_x'”
谁能帮我纠正这个问题?谢谢。
更新
对于遇到此问题的其他人,更改 HAVING 的 WHERE 可以完美地完成这项工作。
【问题讨论】:
-
如果列本身不存在,则不能在 WHERE 子句中使用列(作为别名)。
-
那么我该如何实现呢?
-
WHERE title LIKE或任何实际存在的列 -
但这不会忽略'The '会吗?
-
你已经得到了答案,试试吧