有两个表:
无限级产品分类表sort:
id int(11) NOT NULL auto_increment, 分类ID
pid int(5) default '0', 上级分类ID
sortname varchar(50) default NULL, 分类名称产品表product:
id int(11) NOT NULL auto_increment, 产品ID
sortid int(11) default '0', 所属分类的ID
pname varchar(100) default NULL, 产品名称
pimg varchar(100) default NULL, 产品图片
请问:如果多级分类的情况下,我在最末级分类下面发布了一些产品,怎样能够快速查询到任何一个分类下面所有的产品呢?例如根据一个顶级分类的ID查询出下面所有的产品,依此类推,二级、三级等等。多谢指教
无限级产品分类表sort:
id int(11) NOT NULL auto_increment, 分类ID
pid int(5) default '0', 上级分类ID
sortname varchar(50) default NULL, 分类名称产品表product:
id int(11) NOT NULL auto_increment, 产品ID
sortid int(11) default '0', 所属分类的ID
pname varchar(100) default NULL, 产品名称
pimg varchar(100) default NULL, 产品图片
请问:如果多级分类的情况下,我在最末级分类下面发布了一些产品,怎样能够快速查询到任何一个分类下面所有的产品呢?例如根据一个顶级分类的ID查询出下面所有的产品,依此类推,二级、三级等等。多谢指教
select * from product where `id` in(
select `id` FROM sort
WHERE pid IN(select `id` from sort where pid=123456 or sortname like '%分类名称%'))