У меня есть таблица, как показано ниже.
Я хочу job_id
, только если она отклонена всеми.
Я попытался использовать group by
для подсчета результата, если он не отклонен всеми.
Итак, я проверю, является ли хотя бы одна запись таковой, которая все еще не отклонена.
Но это даст мне jobs not rejected by all
.
Я хочу job_id
из тех заданий, которые rejected by all
.
В приведенном выше примере должна быть дана запись с job_id =2
const jobRejectedByAll = await MatchedTechnician.findAll({
where: {
is_rejected: false,
job_id: allMatchedJobs,
},
group: ['job_id'],
having: sequelize.literal(`count(job_id) > 1`),
});
Запрос:
SELECT job_id
,
FROM matched_technicians AS MatchedTechnician
WHERE MatchedTechnician.is_rejected = FALSE
AND MatchedTechnician.job_id IN (2, 3)
GROUP
BY job_id
HAVING COUNT(job_id) > 1;