使用 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中文网其他相关文章!