С трудом заставляет запрос работать …… ..
У меня есть две таблицы: -
tbl.candidates:
candidate_id
agency_business_unit_id
tbl.candidate_employment_tracker
candidate_id
Кандидат на работу может иметь дубликаты записей candid_id, поскольку он содержит записи об истории их работы для разных клиентов.
Таблицы кандидатов уникальны для каждого кандидата.
Я пытаюсь получить результаты, которые сгруппируют по agency_business_unit_id и посчитают количество кандидатов, которые есть у каждого, в существующем кандидате.
1019 * Е.Г. *
Agency Business Unit Id | Candidates
------------------------------------------------------------
100 | 2
987 | 1
12 | 90
Похоже, запрос, над которым я работаю, не работает, так как я получаю подсчет кандидатов в кандидате_employment_tracker.
SELECT
abu.agency_business_unit_id,
abu.agency_business_unit_name,
count(c.candidate_id) AS candidateCount
FROM candidate_employment_tracker cet
INNER JOIN candidate c ON c.candidate_id = cet.candidate_id
INNER JOIN agency_business_unit abu ON abu.agency_business_unit_id = c.agency_business_unit_id
WHERE c.candidate_ni_number NOT REGEXP '^[A-CEGHJ-PR-TW-Z][A-CEGHJ-NPR-TW-Z] ?[0-9]{2} ?[0-9]{2} ?[0-9]{2} ?[ABCD]$'
GROUP BY abu.agency_business_unit_id
ORDER BY abu.agency_business_unit_name ASC
Я пробовал несколько подходов, и результаты противоречивы. Например, я знаю, что в одном из подразделений агентства есть только 1 кандидат, но результат равен 2. Это связано с тем, что этот конкретный кандидат имеет 2 записи в таблице отслеживания занятости кандидатов. Я буду продолжать нападать, но любая помощь будет высоко ценится.