MYSQL CONCAT 停止使用 WHERE 子句处理连接表 [重复]

Posted

技术标签:

【中文标题】MYSQL CONCAT 停止使用 WHERE 子句处理连接表 [重复]【英文标题】:MYSQL CONCAT stops working on joined table with WHERE clause [duplicate] 【发布时间】:2022-01-20 09:29:32 【问题描述】:

所以这个 CONCAT 有效:

SELECT CONCAT (tb2.FirstName, " ", tb2.LastName ) AS WHOLENAME
FROM tb1 
    LEFT JOIN tb2 ON ( tb1.ID = tb2.ID )

但是当我添加 WHERE 子句时,我得到一个错误:

SELECT CONCAT (tb2.FirstName, " ", tb2.LastName ) AS WHOLENAME
FROM tb1 
    LEFT JOIN tb2 ON ( tb1.ID = tb2.ID )
WHERE WHOLENAME LIKE '%string%' 

我已尝试使用 tb2.WHOLENAME 但仍然出现错误?

【问题讨论】:

但是当我添加 WHERE 子句时,我得到一个错误: 我们应该玩 20 个问题,或者你会告诉我们错误是什么,作为 10 的初学者? 【参考方案1】:

改用有

SELECT CONCAT (tb2.FirstName, " ", tb2.LastName ) AS WHOLENAME
FROM tb1 
    LEFT JOIN tb2 ON ( tb1.ID = tb2.ID )
having WHOLENAME LIKE '%string%' 

【讨论】:

以上是关于MYSQL CONCAT 停止使用 WHERE 子句处理连接表 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 mysql WHERE 子句中使用 GROUP_CONCAT 和 FIND_IN_SET

在 MySQL 中的子查询上使用 GROUP_CONCAT

Mysql group_concat with distinct and where 给出奇怪的结果

mysql: 两个字段合并,字符时间转时间戳,别名字段作为where条件查询

如何在 mysql 的 Group_concat 子查询中使用选择查询

SQL 更新 WHERE IN 子查询已停止工作 [重复]