带有 CONCAT 条件的 MySQL 选择

我正在尝试在我的脑海中编译这个.. 我有一个包含名字和姓氏字段的表我有一个字符串,比如Bob Jones"或Bob Michael Jones"等等.

I'm trying to compile this in my mind.. i have a table with firstname and lastname fields and i have a string like "Bob Jones" or "Bob Michael Jones" and several others.

问题是,例如,我有Bob 的名字,和迈克尔·琼斯的姓

the thing is, i have for example Bob in firstname, and Michael Jones in lastname

所以我正在尝试

SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast 
  FROM users 
 WHERE firstlast = "Bob Michael Jones"

但它说未知列firstlast"..有人可以帮忙吗?

but it says unknown column "firstlast".. can anyone help please ?

推荐答案

您提供的别名用于查询的输出 - 它们在查询本身中不可用.

The aliases you give are for the output of the query - they are not available within the query itself.

您可以重复表达式:

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"

相关文章