以下是引用kylin在2009-7-21 17:56:00的发言:这个可以一步到位,使用存储过程,呵呵
字段FKMCode,FKMName,FKMLevel(科目代码,科目名称,科目级别) 表名 TB_KM,构造如下临时数据表
Select a.FKMCode1,FKMName1,a.FKMCode2,FKMName2,FKMCode3, FKMName3
from
(
Select a.FKMCode1,FKMName1,FKMCode2,FKMName2
from
(
Select FKMCode FKMCode1,FKMName FKMName1
from TB_KM where FKMLevel=1
)a
Left Join
(
Select substring(FKMCode,1,4) FKMCode1,
FKMCode FKMCode2,FKMName FKMName2,FKMLevel FKMLevel2
from TB_KM where FKMLevel=2
)b
on a.FKMCode1=b.FKMCode1
)a
left join
(
Select substring(FKMCode,1,4) FKMCode1,substring(FKMCode,1,7) FKMCode2,
FKMCode FKMCode3,FKMName FKMName3,FKMLevel FKMLevel3
from TB_KM where FKMLevel=3
)b
on a.FKMCode1=b.FKMCode1 and a.FKMCode2=b.FKMCode2