Mysql查询count出错

标签 mysql odbc

以下 mysql 查询...

SELECT a.*, b.*,
       ( 
            SELECT COUNT( * ) 
            FROM lp_units c 
            WHERE c.property_id = a.property_id 
        ) AS unitcount
FROM lp_property a,
     lp_property_confidential b
WHERE a.property_id = b.property_id
AND c.unitcount<= a.no_of_units
AND a.account_id = '1'

返回错误...

Unknown column 'c.unitcount' in 'where clause'

我认为我的疑问是可以理解的。解决它即可运行....

提前致谢...

最佳答案

不要使用c.unitcount。只是unitcountunitcount 不是 c 的列,而是子查询生成的临时表的列。

但是,无论如何,将此查询编写为联接可能会更好。

尝试这个查询

SELECT
  a.*,
  b.*,
  COUNT(c.property_id) as unitcount
  FROM lp_property a
  JOIN lp_property_confidential b ON a.property_id = b.property_id
  JOIN lp_units c ON c.property_id = a.property_id
  WHERE
  a.account_id = '1'
  GROUP BY a.property_id
  HAVING unitcount <= a.no_of_units

关于Mysql查询count出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6650509/

相关文章:

mysql - 子查询中的 union all 仅返回 1ste 值 - 我认为

php - 使用 PHP 添加到 WAMP 服务器中创建的数据库?

sql-server - 在客户端计算机上配置 SQL Native Client ODBC?

java.sql.SQLException : General error

mysql - SQL:select 语句中的聚合函数,带有涉及 group by 子句的连接

java - 如何以编程方式在 Java 中启动 Mysql 服务器?

PHP ODBC connect() 到 Access - 体系结构不匹配

c - 正确查询的 ODBC 中存在语法错误

mysql - 在 my.cnf 配置文件中使 MySQL 使用 utf-8

python - 通过 pyodbc 和 Linux(使用 Docker)访问 i Series AS400 数据库时出现问题