我需要一些有关查询的帮助,因为我似乎无法理解它。
第一桌空缺:
vac_id
vac_title
vac_location
vac_description
is_deleted
status
第二个表空缺标签:
vac_id
Label_id
现在我想得到一个包含某个位置内所有空缺的输出,但它们也不能包含该位置的 label_id '10'。
SELECT `v`.*
FROM `vacancies` AS `v`
LEFT JOIN `vacancies_labels` as `vl` ON `v`.`vacancy_id` = `bl`.`vacancy_id`
WHERE `v`.`vac_location` = 'russia'
AND `v`.`is_deleted` != 1
AND `v`.`status` = 1
AND `vl`.`label_id` NOT IN ('10')
GROUP BY `v`.`vacancy_id`
这只会导致在 vacancies_labels 表中有记录的空缺不是 10。然而,它会忽略在 vacancies_labels 表中根本没有记录但适合位置范围的所有空缺。
我在这里缺少什么?
函数式编程