我正在尝试在我的脑海中编译这个.. 我有一个包含名字和姓氏字段的表 我有一个字符串,比如“Bob Jones”或“Bob Michael Jones”等等。
问题是,例如,我有 Bob 的名字,和 迈克尔·琼斯的姓
所以我正在尝试
SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast
FROM users
WHERE firstlast = "Bob Michael Jones"
但它说未知列“firSTLast”..有人可以帮忙吗?
最佳答案
您提供的别名用于查询的输出 - 它们在查询本身中不可用。
您可以重复表达式:
SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast
FROM users
WHERE CONCAT(firstname, ' ', lastname) = "Bob Michael Jones"
或包装查询
SELECT * FROM (
SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast
FROM users) base
WHERE firstLast = "Bob Michael Jones"
关于带有 CONCAT 条件的 MySQL 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5734570/