表结构如下:
ID ParentID ProjectName
1 0 项目1
2 1 项目2
现在要根据项目的ID,也就是表中的ID来查询该ID的项目名称和他的父类的ID和ProjectName查询结果是:
2 项目2 1 项目1谢谢!!!
ID ParentID ProjectName
1 0 项目1
2 1 项目2
现在要根据项目的ID,也就是表中的ID来查询该ID的项目名称和他的父类的ID和ProjectName查询结果是:
2 项目2 1 项目1谢谢!!!
from tb a,tb b
where a.ParentID=b.id
---------------------------------------------
--> Author : js_szy
--> Target : 各位大大,小卒就是想要一朵花
--> Date : 2009-12-03 09:22:37
--> Version: SQL Server 2005
---------------------------------------------
--> 测试数据: @t
declare @t table (ID int,ParentID int,ProjectName varchar(5))
insert into @t
select 1,0,'项目1' union all
select 2,1,'项目2'select a.id,a.projectName,b.ID,b.projectName
from @t a,@t b
where a.ParentID=b.id
id projectName ID projectName
----------- ----------- ----------- -----------
2 项目2 1 项目1(1 行受影响)
INSERT INTO X
SELECT 1,0,'项目1' UNION ALL
SELECT 2,1,'项目2'SELECT a.id,a.projectname,a.parentid,b.projectname
FROM x a LEFT JOIN x b ON a.parentid=b.id
from tb m , tb n
where m.ParentID = n.id
insert into tb
select 1,0,'项目1' union all
select 2,1,'项目2'
goselect m.ID , m.ProjectName , n.ID , n.ProjectName
from tb m , tb n
where m.ParentID = n.iddrop table tb /*
ID ProjectName ID ProjectName
----------- ----------- ----------- -----------
2 项目2 1 项目1(所影响的行数为 1 行)
*/
a.id,a.projectName,b.parentID,b.projectName
from
tb a join tb b
on
a.ParentID=b.id
---------------------------------------------
--> Author : js_szy
--> Target : 各位大大,小卒就是想要一朵花
--> Date : 2009-12-03 09:22:37
--> Version: SQL Server 2005
---------------------------------------------
--> 测试数据: @t
declare @t table (ID int,ParentID int,ProjectName varchar(5))
insert into @t
select 1,0,'项目1' union all
select 2,1,'项目2'select a.id,a.projectName,b.ID,b.projectName
from @t a cross apply @t b
where a.ParentID=b.id
/*id projectName ID projectName
----------- ----------- ----------- -----------
2 项目2 1 项目1(1 行受影响)*/