使用MySQL SELECT 和CONCAT 條件
使用包含名字和姓氏欄位的表時,常見的任務是將它們連接成用於比較或過濾目的的單一字串。然而,在對連接字串使用別名時遇到“未知列”錯誤可能會令人費解。
要克服這個問題,必須了解別名只適用於查詢的輸出,而不適用於查詢的輸出。查詢本身。要連接和比較字串,您有兩個選項:
重複連接:
SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast FROM users WHERE CONCAT(firstname, ' ', lastname) = "Bob Michael Jones"
透過在WHERE 子句中重複連接表達式,您可以確保正在比較實際的連接值。
使用子查詢:
SELECT * FROM ( SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstLast FROM users ) base WHERE firstLast = "Bob Michael Jones"
透過將查詢包裝在子查詢中,您可以建立一個帶有別名(在此範例中為“base” ),其中包含連接的字串作為列。然後,您可以使用所需的比較來篩選此臨時表。
以上是如何使用 MySQL SELECT 和 CONCAT 連接和比較字串:避免「未知列」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!