【发布时间】:2019-12-13 02:54:16
【问题描述】:
我在查询方面需要一些帮助,因为我似乎不明白。
第一桌空缺:
vac_id
vac_title
vac_location
vac_description
is_deleted
status
第二个表vacancies_labels:
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 表中根本没有记录但适合位置范围的所有空缺。
我在这里错过了什么?
谢谢!
【问题讨论】:
标签: php mysql codeigniter