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
假设您的类别结构仅为父子两级。
这个问题已经问过了,但没有解决我的问题。
我有一个 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
假设您的类别结构仅为父子两级。