当前位置:首页 » 编程语言 » sqlserver2000递归查询
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sqlserver2000递归查询

发布时间: 2022-05-18 09:22:56

‘壹’ sql select 中加 递归

就是with as 的语法啊,这个可以实现递归查询的。

sqlserver2005应该就支持了。

sqlserver2000和以前的版本不支持。

‘贰’ SQL Server树形数据递归查询问题

select * from question a,(select questionID from questionInPaper where TestPaperID = 'TestPaperId') temp where a.QuestionID = temp .questionID;

‘叁’ 请问sqlserver2000怎么实现递归查询,详细是 我的表有两个字段id,parentId 我只知道中国--四川--成都

不用递归
建两个表1省;表2城市,建立视图 关系1对多,表1—〉表2,
select 视图 就可以查出了

‘肆’ sql server 2000 怎么用BOM表底层物料查顶层物料

--你的数据,只能找到A7,找到不到A1的--建表createtableT(父VArchar(20),子VArchar(20))--插入数据InsertintoTvalues('A1','A2')InsertintoTvalues('A2','A3')InsertintoTvalues('A3','A5')InsertintoTvalues('A3','A4')InsertintoTvalues('A5','A6')--循环展开BOMDeclare@IintSet@I=1Select父,子,@IAs层,父+'-'+子Ascpathinto#tmpfromTwhere子='A6'while@@ROWCOUNT>0BeginSet@I=@I+1Insertinto#tmpSelectA.父,A.子,@I,B.cpath+'-'+A.子FromTAinnerjoin#tmpBonA.子=B.父and层=@I-1End--查询按路径的排序Select*from#tmporderbycpathdesc--查询最顶层的物料Select*from#tmpwhere层=@I-1DropTable#tmp

‘伍’ 如何实现SQL语句的递归查询

1.创建测试表,createtabletest_connect(idnumber,p_idnumber);

‘陆’ 关于sqlserver递归查询

你的意思没特别看懂,但是在ORACLE里面的递归语法是:
select * from tab ...start with ... connect by col_parent...
你可以查一下start with ,connect 的语法

‘柒’ sql语句中怎么实现递归查询

在SQL SERVER 2000 中你可以先一些自定义函数,或一些存储过程,实现递归:
select level,TypeName
from ProctType t
START WITH t.ParentID=0
CONNECT BY PRIOR t.ProctTypeID= t.ParentID;

‘捌’ SQL Server 两个表递归

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 的递归查询 http://blog.csdn.net/chenghaibing2008/article/details/8501322

‘玖’ sql server 2000 一张表两个字段递归查询

LZ需要的修改自己为对应的,来源 CSDN SQLSERVE大版主 邹建
--测试数据
CREATE TABLE tb(ID char(3),PID char(3),Name nvarchar(10))
INSERT tb SELECT '001',NULL ,'山东省'
UNION ALL SELECT '002','001','烟台市'
UNION ALL SELECT '004','002','招远市'
UNION ALL SELECT '003','001','青岛市'
UNION ALL SELECT '005',NULL ,'四会市'
UNION ALL SELECT '006','005','清远市'
UNION ALL SELECT '007','006','小分市'
GO

--查询指定节点及其所有子节点的函数
CREATE FUNCTION f_Cid(@ID char(3))
RETURNS @t_Level TABLE(ID char(3),Level int)
AS
BEGIN
DECLARE @Level int
SET @Level=1
INSERT @t_Level SELECT @ID,@Level
WHILE @@ROWCOUNT>0
BEGIN
SET @Level=@Level+1
INSERT @t_Level SELECT a.ID,@Level
FROM tb a,@t_Level b
WHERE a.PID=b.ID
AND b.Level=@Level-1
END
RETURN
END
GO

--调用函数查询002及其所有子节点
SELECT a.*
FROM tb a,f_Cid('002') b
WHERE a.ID=b.ID
/*--结果
ID PID Name
------ ------- ----------
002 001 烟台市
004 002 招远市