我有这样两个表:需要帮助创建SQL查询
CREATE TABLE `workers` (
`id` int(7) NOT NULL AUTO_INCREMENT,
`number` int(7) NOT NULL,
`percent` int(3) NOT NULL,
`order` int(7) NOT NULL,
PRIMARY KEY (`id`)
);
CREATE `data` (
`id` bigint(15) NOT NULL AUTO_INCREMENT,
`workerId` int(7) NOT NULL,
PRIMARY KEY (`id`)
);
我想(通过order
ASC顺序)返回第一个工人,他的表中的行数data
倍percent
(从表workers
)/100小于number
(从表workers
我曾尝试此查询:
SELECT workers.id, COUNT(data.id) AS `countOfData`
FROM `workers` as workers, `data` as data
WHERE data.workerId = workers.id
AND workers.percent * `countOfData` < workers.number
LIMIT 1
但我得到的错误:
#1054 - Unknown column 'countOfData' in 'where clause'
呃,如果不是这样的MySQL,请用适当的RDBMS标记它。 –
您不应该将'order'作为列名称,因为它是大多数SQL中的关键字。 – JHS
它是mysql .... Juniad - 忽略名称 - 我们称它为'sortOrder' - – Nir