多级分类的sql编写

多级分类的sql编写,第1张

这是表的现有数据:

通过sql查询结果:

sql:

select yi.*

from(select distinct parent_id pid from products a where a.`parent_id`>0) er

left join products yi on er.pid=yi.`id`

先通过查询表中parent_id不为空的(表中parnet_id字段类型设置的整型同id,所以直接用>0判断了),然后使用distinct查重,获取对应的parent_id,再去关联该表查询出结果即可。

使用decode循环读出所有资料

SELECT categorid FROM

(SELECT categorid,

DECODE

(categorid,ParentID , NULL,ParentID ) ParentID

FROM table) t

START WITH categorid= ‘’

CONNECT BY PRIOR t.categorid= t.ParentID

一下吧

你的数据库是什麽 这个是Oracle下的语法,抱歉 没说清楚

Decode只有Oracle有提供,SQLServer不太清楚,不然写过简单的SP调用一下吧 用Sp把资料都循环出来组个串传出来好了

你的需求讲的很清楚,如果SQLServer中没有相关函数直接使用 还不如写个SP调用


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6787042.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存