2012-01-01 83 views
4

条款是否有这样做的查询任何其他方式的别名:如何使用在mysql中

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

我尝试过,但得到了一个错误,它说在mysql中未知列

+2

哪列不详? – 2012-01-01 12:35:28

+1

@Kyoka Suigetsu:在此贴满错误讯息。 – 2012-01-01 12:38:41

+2

你的别名称为'lessor_name',但你引用它为'lessor'(不过,尽管MySQL允许它们在'HAVING'中,那么别名可以用在WHERE中) – 2012-01-01 12:39:56

回答

9

这可能是由于lessor而不是lessor_name where子句。所以,下面一次尝试:

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

也许这将工作:

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

在MySQL中,你不能使用别名附近WHERE

0

这将工作。

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