【发布时间】:2017-03-20 20:46:27
【问题描述】:
我有一个查询,它显示一个子类别下的问题和一个类别下的更多问题,因为一个类别下有一个子类别。这是我的代码
SELECT
a.*
FROM question a
LEFT JOIN category b on a.question_subcat = b.category_id
WHERE b.parentcategoryid = $question
如何包含显示带有空值的 question_subcat 而不仅仅是带有值的问题?由于并非我所有的问题都必须在一个子类别下,它可以只是在一个类别下,而不是在任何使其为空的子类别下。如何显示?
【问题讨论】:
-
尝试将
b.parentcategoryid = $question移至ON子句。 -
这可能很复杂,但对于嵌套数据集来说非常灵活和快速(查询性能)。 mikehillyer.com/articles/managing-hierarchical-data-in-mysql
-
我不明白,请问您可以用代码格式回复吗? @GiorgosBetsos
-
$question 包含什么:子类或主类 id。为什么将子类别 id 存储在
question.question_subcat中 - 从我的角度来看问题应该只有一个 parentcategory_id -
LEFT JOIN category b on a.question_subcat = b.category_id AND b.parentcategoryid = $question。无论是否存在相关的category,这都会返回所有个问题。
标签: mysql left-join inner-join