这是表的现有数据:
通过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调用
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)