2 fakertt fakertt 于 2017.12.18 11:54 提问

求一个数据库设计问题,3级分类的设计,有效果图,

图片说明
图中的二级菜单下还有N条详细信息,
算是三级分类信息了,数据的表该怎么设计啊。。
然后顺便求一个查询的语句
谢谢!

8个回答

sinat_34344123
sinat_34344123   2017.12.18 14:48
已采纳

表内容

SELECT * FROM `table`;

图片说明

SELECT * FROM `table` WHERE pid = 0;

图片说明

SELECT * FROM `table` WHERE pid = 1;

图片说明

SELECT * FROM `table` WHERE pid = 100;

图片说明

不明白的地方可以直接问我。

caozhy
caozhy   Ds   Rxr 2017.12.18 12:34
u012474624
u012474624   2017.12.18 12:42

建立树形结构数据表,比如表字段有id(主键),name(名字),pid(父节点id),rank(排序序号,针对于当前所在层级的排序)

现在我们假设,你的表名为t_menu_info,【行车须知】的id为1,那么你获取行车须知下所有的菜单查询语句为:

SELECT
id,name,pid,rank
FROM
T_MENU_INFO t
where level <>1 <!-- 除去去自己本身,(注:如果查询包含自身,那么这个条件可以去掉) -->
START WITH t.id =1
CONNECT BY PRIOR t.id=t.pid
ORDER BY rank ASC

这个查询语句会帮你查询一颗树形结构的数据。                 
qq_33133335
qq_33133335   2017.12.18 13:39

一级表 简单的 id type 二级表 id parentId type ,其他字段可自行添加,查询也很简单,简单的left join 就能搞定 查单个就用where
select * from 字表 where 字表.parentId = 父表。id

MikeDDT009
MikeDDT009   2017.12.18 14:09

使用三个表来存。第一个表存放一级菜单的内容,第二个表存放二级菜单的内容,但是需要和一级菜单有个外键关系,第三个表存三级菜单内容,但是需要和二级菜单有个外键关系!

fwq_17802927858
fwq_17802927858   2017.12.18 14:20

这个就和省市联动差不多 三列id data pid 设计好关系就行

yuyubingMan
yuyubingMan   2017.12.20 00:00

树形结构:
字段:主键ID、parent_id 、menu_name、is_leaf

cage_hunt
cage_hunt   2017.12.20 14:29

图片说明

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!