我有一个表作为(id,category_id,…),然后JOIN它的类别表为(category_id,category_name,parent,…)ONcategory_id。父级是另一个类别的category_id。例如:
JOIN
category_id
category_id category_name parent 1 Computer Science NULL 2 Web Technology 1 3 Mathematics NULL 4 PHP 2
如何JOIN发布帖子和分类表,以阅读帖子的父类别。例如,
id category_id post_title 44 4 something
通过简单的JOINcategory_id,我只能得到PHP作为类别。我怎么也能得到父母呢Computer Science > WebTechnology > PHP?
Computer Science > WebTechnology > PHP
注意: 我将mysql与MyISAM引擎一起使用。
只需对额外的元素进行额外的联接,但将IT作为LEFT联接,因为并非所有类别都具有父类别,并且您不希望排除这些类别。
select P.ID, P.Post_Title, P.Category_ID, C.Category_Name as FirstCat, C.Parent, COALESCE( C2.Category_Name, ' ' ) as ParentCategory from Posts P JOIN Categories C on P.Category_ID = C.Category_ID LEFT JOIN Categories C2 on C.Parent = C2.Category_ID where AnyFiltering