条款是否有这样做的查询任何其他方式的别名:如何使用在mysql中
SELECT CONCAT_WS(" ", strLname, strFname, strMname) AS lessor_name
FROM tbl_lessor
WHERE lessor = '$lessor_name'
我尝试过,但得到了一个错误,它说在mysql中未知列
条款是否有这样做的查询任何其他方式的别名:如何使用在mysql中
SELECT CONCAT_WS(" ", strLname, strFname, strMname) AS lessor_name
FROM tbl_lessor
WHERE lessor = '$lessor_name'
我尝试过,但得到了一个错误,它说在mysql中未知列
这可能是由于lessor
而不是lessor_name
where子句。所以,下面一次尝试:
SELECT CONCAT_WS(" ", strLname, strFname, strMname) AS lessor_name
FROM tbl_lessor
having lessor_name= '$lessor_name'
也许这将工作:
SELECT CONCAT_WS(" ", strLname, strFname, strMname) AS lessor_name
FROM tbl_lessor
WHERE CONCAT_WS(" ", strLname, strFname, strMname) = '$lessor_name'
在MySQL中,你不能使用别名附近WHERE。
这将工作。
SELECT * FROM (SELECT CONCAT_WS(" ", strLname, strFname, strMname) AS lessor_name
FROM tbl_lessor) AS t1
WHERE lessor_name = '$lessor_name'
哪列不详? – 2012-01-01 12:35:28
@Kyoka Suigetsu:在此贴满错误讯息。 – 2012-01-01 12:38:41
你的别名称为'lessor_name',但你引用它为'lessor'(不过,尽管MySQL允许它们在'HAVING'中,那么别名可以用在WHERE中) – 2012-01-01 12:39:56