我有這個SQL查詢(下),它的工程很好,但我需要修改它只選擇記錄與$第一個字符。我嘗試了一些LIKE A%的變體,但沒有運氣。我的情況的癥結似乎是名稱別名。如果我在ORDER之前使用WHERE名稱LIKE'A%',我收到錯誤。這似乎是一個合乎邏輯的地方。有什麼建議麼?MYSQL - 按首字母排序
SELECT
IF(company_name <> '', company_name, PC_last_name) AS name,
customer_id AS id,
company_name AS cn,
PC_first_name AS pcf,
PC_last_name AS pcl,
primary_phone
FROM sales_customer
ORDER BY name
賓果!工作完美。我知道這與別名有什麼關係,爲什麼它不能正確使用別名? – 2012-02-28 16:06:59
從MySQL手冊* apud * [這個答案](http://stackoverflow.com/a/200203/825789):不允許在WHERE子句中引用列別名,因爲列值可能不是但在執行WHERE子句時會被確定。請參見[請參見第B.1.5.4節「列別名問題」](http://dev.mysql.com/doc/refman/5.0/en/problems-with-alias.html)。 – bfavaretto 2012-02-28 16:14:37
感謝您的信息!現在我明白了。 – 2012-02-28 18:23:21