带有 CONCAT 条件的 MySQL 选择

标签 mysql select conditional-statements where concat

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

相关文章:

mysql - 为什么这个 SQL 命令不起作用?

Mysql:无法从查询中的选择查询中获取值

mysql - 旋转非规范化行——将多行转换为单行——导致 LEFT JOIN 速度慢

mysql - 获取匹配相同标签sql的实体列表

sql - 不应该在 Sql 中的 SELECT 之前出现吗?

c - 多维数组边缘/边界条件

python - 仅将 tf.nn.softmax() 应用于张量的正元素

mysql - 如何查找具有部分 FROM ... TO 值的记录?

mysql - 如何使用 mySQL 选择一列具有最大值并按另一列分组的结果?

haskell - 如何在 Haskell 案例中使用 "<0"条件