如何在mysql的where子句中使用别名

如何在mysql的where子句中使用别名,mysql,Mysql,是否有其他方法执行此查询: SELECT CONCAT_WS(" ", strLname, strFname, strMname) AS lessor_name FROM tbl_lessor WHERE lessor = '$lessor_name' 我试过了,但出现了一个错误,它在mysql中显示未知列也许这会起作用: SELECT CONCAT_WS(" ", strLname, strFname, strMname) AS lessor_name FROM tbl_lessor

是否有其他方法执行此查询:

SELECT CONCAT_WS(" ", strLname, strFname, strMname) AS lessor_name 
FROM tbl_lessor 
WHERE lessor = '$lessor_name'
我试过了,但出现了一个错误,它在mysql中显示未知列

也许这会起作用:

SELECT CONCAT_WS(" ", strLname, strFname, strMname) AS lessor_name  
FROM tbl_lessor  
WHERE CONCAT_WS(" ", strLname, strFname, strMname) = '$lessor_name' 

这可能是由于where子句中的
出租方
而不是
出租方名称
。因此,请尝试一下以下方法:

SELECT CONCAT_WS(" ", strLname, strFname, strMname) AS lessor_name 
FROM tbl_lessor 
having lessor_name= '$lessor_name'

在MySQL中,您不能在附近使用别名,这将起作用

SELECT * FROM (SELECT CONCAT_WS(" ", strLname, strFname, strMname) AS lessor_name 
FROM tbl_lessor) AS t1 
WHERE lessor_name = '$lessor_name'

哪一列未知?@Kyoka Suigetsu:paste full error msg here.您的别名名为
出租方
,但您将其引用为
出租方
(尽管MySQL允许在
中使用别名,但无论如何也不能在
中使用别名),抱歉,这只是一个输入错误,它应该是出租方的名称。使用解决了问题,谢谢!