【发布时间】:2014-07-10 07:04:00
【问题描述】:
我有几张表要加入以使用COUNT() 选择总计列。此查询非常适合返回 total 列:
SELECT *,`excel`.`drivers`.`AutoNumber` AS `current_driver`,
(SELECT COUNT(`issues`.`categories`.`points`) FROM `issues`.`points` INNER JOIN `excel`.`drivers` ON `issues`.`points`.`driver_id` = `excel`.`drivers`.`AutoNumber` INNER JOIN `issues`.`categories` ON `issues`.`categories`.`id` = `issues`.`points`.`category_id` WHERE `excel`.`drivers`.`AutoNumber`=`current_driver`) AS `total`
FROM `issues`.`points`
INNER JOIN `excel`.`drivers` ON `issues`.`points`.`driver_id` = `excel`.`drivers`.`AutoNumber`
INNER JOIN `issues`.`categories` ON `issues`.`categories`.`id` = `issues`.`points`.`category_id`
但现在我正在尝试创建一个查询来比较 WHERE 子句中的total,如下所示:
SELECT *,`excel`.`drivers`.`AutoNumber` AS `current_driver`,
(SELECT COUNT(`issues`.`categories`.`points`) FROM `issues`.`points` INNER JOIN `excel`.`drivers` ON `issues`.`points`.`driver_id` = `excel`.`drivers`.`AutoNumber` INNER JOIN `issues`.`categories` ON `issues`.`categories`.`id` = `issues`.`points`.`category_id` WHERE `excel`.`drivers`.`AutoNumber`=`current_driver`) AS `total`
FROM `issues`.`points`
INNER JOIN `excel`.`drivers` ON `issues`.`points`.`driver_id` = `excel`.`drivers`.`AutoNumber`
INNER JOIN `issues`.`categories` ON `issues`.`categories`.`id` = `issues`.`points`.`category_id` WHERE `total` = 3
这会返回一个错误,即total 是一个未知列。有什么想法吗?
【问题讨论】:
标签: mysql