【发布时间】:2025-12-18 17:10:02
【问题描述】:
我正在尝试查找所有行及其关联模型的数量。
它应该只返回那些在两个传递的值之间有关联计数的行。
这是我尝试过的,但得到 sql 异常。
db.Employee.findAll({
where: {
$assignedJobCount$: {
[Op.between]: [0, 100],
},
},
include: [
{
model: db.AssignedJob,
required: true,
attributes: ['emp_id'],
},
],
attributes: [
'id',
'alternate_mobile',
['employee_unique_id', 'unique_id'],
[Sequelize.fn('COUNT', Sequelize.col('AssignedJobs.emp_id')), 'assignedJobCount'],
],
order: [['id', 'ASC']],
subQuery: false,
group: ['Employee.id'],
limit: 20,
});
return JSON.parse(JSON.stringify(mechanics));
};
它会抛出以下错误,
sql:
'SELECT
`Employee`.`id`,
`Employee`.`alternate_mobile`,
`Employee`.`employee_unique_id` AS `unique_id`,
COUNT(`AssignedJobs`.`emp_id`) AS `assignedJobCount`,
`AssignedJobs`.`id` AS `AssignedJobs.id`,
`AssignedJobs`.`emp_id` AS `AssignedJobs.emp_id`
FROM
`employee` AS `Employee`
INNER JOIN `assigned_jobs` AS `AssignedJobs` ON
`Employee`.`id` = `AssignedJobs`.`emp_id`
WHERE
`assignedJobCount` BETWEEN 0 AND 100
GROUP BY
`Employee`.`id`
ORDER BY
`Employee`.`id` ASC
LIMIT 20;',
parameters: undefined
}
SequelizeDatabaseError: Unknown column 'assignedJobCount' in 'where clause'
【问题讨论】:
标签: mysql sql node.js sequelize.js