科目表:
create table glkm(uppercode,code,name)
insert glkm(null,'1001','现金')
insert glkm('1001','1001001','RMB')
insert glkm(null,'1002','银行')
insert glkm('1002','1001001','中国银行')我想把科目边中的记录使用视图的方式显示结果:
1001,   现金
1001001,现金->RMB
1002,   银行
1002001,银行->中国银行注意,该记录我想使用来创建视图,该如何实现。谢谢!

解决方案 »

  1.   

    create table glkm(uppercode,code,name)
    select isnull(uppercode,code),case isnull(uppercode,'' ) when '' then '' else (select name from table where code = a.uppercode) end + '->'+name 
    from table a
      

  2.   

    declare @glkm table (uppercode varchar(6),code varchar(10),name varchar(10))
    insert @glkm select null,'1001','现金'
    insert @glkm select '1001','1001001','RMB'
    insert @glkm select null,'1002','银行'
    insert @glkm select '1002','1001001','中国银行'select code,case isnull(uppercode,'' ) when ''
     then '' else (select name+ '->' from @glkm where code = a.uppercode) end +name  as name
    from @glkm a/*code       name                   
    ---------- ---------------------- 
    1001       现金
    1001001    现金->RMB
    1002       银行
    1001001    银行->中国银行*/
      

  3.   

    这样做不行,因为层次是不能确定的。你这样写只能显示两层。比如银行->中国银行->中山分行. 这个情况就显示不出来。
      

  4.   

    我现在使用低归可以实现,但是难题是,使用存储过程的结果想要用VIEW显示出来,CODE,NAME ,试图能不能显示储存过程的结果????