使用 CONCAT() AS column_name 到 WHERE 子句

Using CONCAT() AS column_name to WHERE clause

P.S,如果我的英文不好,请见谅。 P.P.S,此题是否重复请标示

我这里有一个 MySQL 查询,我可以在其中使用 AS 子句来查找特定名称。下面是我的代码:

SELECT CONCAT(students.FirstName, ' ', students.LastName) AS FullName 
FROM `students` WHERE FullName LIKE '%john%'

购买 MySQL 返回如下:

#1054 - Unknown column 'FullName' in 'where clause'

我怎样才能做到这一点才能让 FullName 找到他们想要的东西?

Fullname 是您刚刚为“列”指定的别名。它不存在于数据库中。如果您想在 WHERE 中按“全名”进行搜索,您需要在那里重复练习

WHERE CONCAT(students.FirstName, ' ', students.LastName) LIKE '%john%'

可选,你可以预建内联视图然后fullname就会变成一个东西

SELECT * 
FROM
(
    SELECT
        CONCAT(students.FirstName, ' ', students.LastName) AS FullName
    FROM
        `students`
) inlineView
WHERE 
    FullName LIKE '%joe%'