我有一个查询,在子类别下显示问题,在类别下显示更多问题,因为类别下有子类别。这是我的代码
SELECT
a.*
FROM question a
LEFT JOIN category b on a.question_subcat = b.category_id
WHERE b.parentcategoryid = $question
如何包含显示带有空值的question_subcat而不仅仅是带有值的值?由于并非我的所有问题都必须属于一个子类别,因此它可以只属于一个类别,而不属于任何使其为空的子类别。我该如何显示它?
答案 0 :(得分:1)
左外连接应该可以满足您的要求!如果删除WHERE条件,则会出现question_subcat
为空的所有问题。
无论如何,我并不完全理解你的要求,但是你需要在父表上过滤或在条件中提供替代。
试想一下:left out join返回表b的所有表行和表b的行仅存在(意味着b。*为null) - 没有问题遗漏。但你的位置过滤b.parentcategoryid与$question
=> b.parentcatoryid如果未找到则为null =>过滤器将其踢出去。