MySQL选择与CONCAT条件

我正在尝试在脑海中编译这个..我有一个包含名字和姓氏字段的表我有一个字符串,如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.

问题是,我有例如名字中的鲍勃,以及姓氏中的迈克尔·琼斯

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"

相关文章