网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

sqlserver多级,sql多级排序

sql语句问题,多级分类表

使用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调用

MS SQLServer 多级父子关系数据查询

加多一列层级码,会简单很多比如亚洲用‘01’ 中国用‘0101’,北京用‘010101‘,海定用‘01010101’,东城用’01010102‘

这样语句可以

select id as col1,(select name from 表 where code = SubString(a.Code, 1,2)) as col2,

(select name from 表 where code = SubString(a.Code, 3,2)) as col3,

(select name from 表 where code = SubString(a.Code, 5,2)) as col4,

(select name from 表 where code = SubString(a.Code, 7,2)) as col5

from 表 a where Type = 'Distric'

不然

(select d.name from 表 b, 表 c, 表 d where a.parentid = b.id and b.parentid = c.id

and c.parentid = d.id) as col2,...

写起来比较麻烦

SQL多级查询问题

Oracle 可采用下面这种写法:

SELECT

LPAD(' ', 2*(LEVEL-1)) || brandname AS name

FROM

START WITH

brandid = 1

CONNECT BY PRIOR brandid = brandparentid;


本文标题:sqlserver多级,sql多级排序
转载来于:http://bjjierui.cn/article/phdjpd.html

其他资讯