【发布时间】:2022-01-21 06:15:08
【问题描述】:
按产品类别搜索时,我需要显示其所有父类别。
当有多个级别时,它只显示两个结果。
CREATE TABLE `category` (
`id` int NOT NULL,
`parent_category_id` int,
`name` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB;
INSERT INTO `category` (`id`, `parent_category_id`, `name`) VALUES
(1, NULL, 'Male'),
(2, 1, 'T-shirts'),
(3, 1, 'Shoes'),
(4, 2, 'Tank top'),
(5, 2, 'Basic shirts');
SELECT CONCAT(t1.name, ' > ', t2.name) as breadcrumb
FROM category AS t1
LEFT JOIN category AS t2 ON t2.parent_category_id = t1.id
WHERE t2.id = 4; #( 4 or 5 )
结果: T 恤 > 背心
预期结果:男>T恤>背心
不显示“男性”类别
【问题讨论】:
-
检查这个post注意它应该是
parent_category_id而不是subcategory_id
标签: mysql database recursion breadcrumbs