mysql 查询相同的 table 类别和子类别

mysql query for same table category and subcategory with separated

这个问题已经问过了,但没有解决我的问题。

我有一个 table 下面给出的 table 名字 categories。我想获取所有分隔 > 的类别。 Parent category 数据和 Sub category 数据在同一 table.

categoryId   categoryName      categorytype  parentCategoryId   status
1            parent category       0              0                1
2            Sub category          1              1                1

所以我想像这样获取数据 输出:

categoryId   categoryName                           categorytype  parentCategoryId   status
    1        parent category                           0              0                1
    2        parent category > Sub category            1              1                1

Only Sub category I want to add parent category as mentioned above.

我试过这个查询

SELECT * FROM categories c1 LEFT JOIN categories c2 ON c2.categoryId = c1.parentCategoryId;

当前输出:

请帮我解决这个问题,在此先感谢。

您的查询连接没问题,选择正确的列即可。

SELECT c1.categoryId, CONCAT((CASE WHEN c2.categoryId IS NOT NULL THEN CONCAT(c2.categoryName, ' > ') ELSE '' END), c1.categoryName) categoryName, c1.categoryType, c1.parentCategoryId, c1.status 
FROM categories c1 
LEFT JOIN categories c2 ON c2.categoryId = c1.parentCategoryId

假设您的类别结构仅为父子两级。