在SQL
在库尔勒等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、成都网站设计 网站设计制作定制网站,公司网站建设,企业网站建设,品牌网站建设,全网整合营销推广,外贸营销网站建设,库尔勒网站建设费用合理。
SERVER
2000
中你可以先一些自定义函数,或一些存储过程,实现递归:
select
level,TypeName
from
ProductType
t
START
WITH
t.ParentID=0
CONNECT
BY
PRIOR
t.ProductTypeID=
t.ParentID;
CREATE TABLE #tb1(stuId INT,stuName VARCHAR(30),teaId INT);
INSERT INTO #tb1 (stuId,stuName,teaId)
VALUES(1,'zhou',0),(2,'kong',0),(3,'hong',2),(4,'zhang',1),(5,'liu',4),
(6,'zhao',5),(7,'zheng',6),(8,'wei',7)
;WITH cte AS (
SELECT t.stuId,t.stuName,t.teaId FROM #tb1 AS t
WHERE t.stuId=8
UNION ALL
SELECT t.stuId,t.stuName,t.teaId FROM cte AS c
JOIN #tb1 AS t ON c.teaId=t.stuId
)
SELECT * FROM cte
写在SQL里吧,可以避免频繁的创建连接,那是开销很大的.
不过可能写在sql里比较烦吧.
with district as ( select * from SECFUNMODULE where MENUID='030' union all select a.* from SECFUNMODULE a, district b where a.PMENUID = b.MENUID ), district1 as ( select a.* from district a where a.MENUID in (select PMENUID from district) ) select * from district1 order by MENUID with当然可以实现. 请参照sqlserver2005 的递归查询
set @p_b = (select fid from w_Storage_Depository where fid in(select fid from dbo.jt_base_company where bj=1))
改成
select @p_b =fid from w_Storage_Depository where fid in(select fid from dbo.jt_base_company where bj=1)
WITH DirectReports(ManagerID, EmployeeID, Title, EmployeeLevel) AS ( SELECT ManagerID, EmployeeID, Title, 0 AS EmployeeLevel FROM dbo.MyEmployees WHERE ManagerID IS NULL UNION ALL --主要是在此,增加一个union all SELECT e.ManagerID, e.EmployeeID, e.Title, EmployeeLevel + 1 FROM dbo.MyEmployees AS e INNER JOIN DirectReports AS d -- 在此调用自身,就可以实现递归了 ON e.ManagerID = d.EmployeeID ) SELECT ManagerID, EmployeeID, Title, EmployeeLevel FROM DirectReports ORDER BY ManagerID;
文章名称:sqlserver函数递归,sql中的递归
文章出自:https://www.cdcxhl.com/article8/dschhip.html
成都网站建设公司_创新互联,为您提供移动网站建设、微信小程序、软件开发、品牌网站建设、ChatGPT、网页设计公司
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联