2 fancything Fancything 于 2017.09.07 00:37 提问

mySql 查询问题 有三张商品分类表 一二三级,我想在三级分类表中查出相对应的一级分类标的名称

数据库表
网页效果
刚学SPring mvc 希望有高人指点一下 谢谢

8个回答

qq_32110825
qq_32110825   2017.09.07 09:34

这里利用连接查询即可,如果pid对应上一级id的话,我给的SQL如下

SELECT t.id,t.cateName,s.cateName,f.cateName FROM third_cate t 
LEFT JOIN second_cate s ON t.pid = s.id 
LEFT JOIN first_cate f ON s.pid = f.id ;

将三张表联合起来查询自己想要的字段,如下图,我只建了部分字段和数据,效果如下,希望能帮到你

图片说明

qq_32110825
qq_32110825 回复Fancything: 查不了,字段之间没有关联怎么查
2 个月之前 回复
Fancything
Fancything 假如我只能获取到third_cate b表里的pId, 可以查到和first_cate表里相对应的cateName 吗
2 个月之前 回复
code68
code68   2017.09.07 08:41

图片说明

是这个效果吧
http://code68.com/Admin/Index

code68
code68   2017.09.07 08:41

要用到递归查询,easyUI有个child参数,
这样就是 无限极的 树结构了

qq_35728177
qq_35728177   Ds   Rxr 2017.09.07 08:48

你的表中pId应该对应上一级的id 这样才能说是正确的对应关系。这样子的话sql语句:

 select first.cateName from first_cast as first where one.id=(select two.id from two_cast as two inner join third_cast as third where two.id = third.pId));
m_h7769
m_h7769   2017.09.07 09:09

先二三级表建立关系,找的第二张表的内容,再跟第一级建立关系,找到第一张表的内容 。注:能否找到没试过,仅提供一个思路

qq_29729735
qq_29729735   2017.09.07 09:22

大概就是这样

 select f.cateName from third_cate t,second_cate s,first_cate f where t.pid=s.id and d.pid=f.id and t.id=??
loowooowool
loowooowool   2017.09.07 11:02

楼上是就可以,但是你这种情况多数据量大的话,可以建立视图

loowooowool
loowooowool   2017.09.07 11:04

不好意思我说的楼上被我顶了一下,到最上面去了

Csdn user default icon
上传中...
上传图片
插入图片