MySQL在临时表中使用NOT IN
我希望能够在下面的查询结果中找到条件为MySQL在临时表中使用NOT IN,mysql,sql,select,Mysql,Sql,Select,我希望能够在下面的查询结果中找到条件为visible=0的类别表中的行: SELECT c.id as cat_id, j.id FROM category c LEFT JOIN portfolio_job_category pjc ON pjc.category_id = c.id LEFT JOIN job j ON j.id = pjc.job_id WHERE c.visible = 0 AND j.end_date > CURRENT_DATE GROUP BY c.id 有
visible=0
的类别表中的行:
SELECT c.id as cat_id, j.id
FROM category c
LEFT JOIN portfolio_job_category pjc
ON pjc.category_id = c.id
LEFT JOIN job j
ON j.id = pjc.job_id
WHERE c.visible = 0
AND j.end_date > CURRENT_DATE
GROUP BY c.id
有没有办法用不在中找到这个
我在下面尝试过,但这会永远循环并崩溃mysqld
SELECT c.id
FROM category c
WHERE c.id NOT IN
(SELECT c.id as cat_id, j.id
FROM category c
LEFT JOIN portfolio_job_category pjc
ON pjc.category_id = c.id
LEFT JOIN job j
ON j.id = pjc.job_id
WHERE c.visible = 0
AND j.end_date > CURRENT_DATE
GROUP BY c.id)
AND visible = 0
您不尝试使用LEFT JOIN
SELECT a.ID
FROM category a
LEFT JOIN
(
SELECT c.id as cat_id
FROM category c
LEFT JOIN portfolio_job_category pjc
ON pjc.category_id = c.id
LEFT JOIN job j
ON j.id = pjc.job_id
WHERE c.visible = 0 AND
j.end_date > CURRENT_DATE
) b ON a.ID = b.ID
WHERE b.ID IS NULL AND
a.visible = 0