补充一下,上面的C表结果是都是文本文件的,如果没有这个类型设置的话,那C表还会有一行的
目录编号   目录名称   文件编号   文件名称   子文件编号 子文件名称
01           一号      File001    问题一      File004   问题四
01           一号      File002    问题二      File005   问题五
02           二号      File003    问题三      File006   问题六
03           三号      null       null        null      null

解决方案 »

  1.   

    create table 表a(目录编号 int, 目录名称 varchar(20), 目录类型 varchar(20))
    insert into 表a select 01  ,     '一号'      , '文本文件'
    union all select 02   ,    '二号'  ,     '文本文件'
    union all select 03 ,      '三号'  ,     '数据文件'
    create table 表b(文件编号 varchar(20),     文件名称  varchar(20), 所属目录 int, 父级目录 varchar(20) 
    ,文件类型 varchar(20))
    insert 表b select 'File001'  ,      '问题一'    , 01   ,     '0'   ,    '文本文件'
    union all select  'File002' ,       '问题二' ,    01  ,       '0' ,      '文本文件'
    union all select  'File003'  ,      '问题三' ,    02     ,    '0'   ,    '文本文件'
    union all select  'File004'  ,     '问题四'   ,  01  ,    'File001'  , '文本文件'
    union all select  'File005'   ,     '问题五'  ,   01    ,   'File002' ,  '文本文件'
    union all select  'File006'    ,   '问题六'  ,   02   ,    'File003',  '文本文件'
    GO
    select isnull([所属目录],c.[目录编号]) as [目录编号],[目录名称], [文件编号],[文件名称],[子文件编号],[子文件名称] from 表a c left join (
    SELECT [文件编号],[文件名称],[所属目录],[子文件编号]=(select [文件编号] from 表b where [父级目录]=a.[文件编号] ), 
    [子文件名称]=(select [文件名称] from 表b where [父级目录]=a.[文件编号]  )
    FROM 表b a  where  [父级目录]='0')b
     on c.[目录编号]=b.[所属目录]
    GO
      

  2.   

    结果:1
    一号 File001 问题一 File004 问题四 1
    一号 File002 问题二 File005 问题五 2
    二号 File003 问题三 File006 问题六 3
    三号 NULL NULL NULL NULL
      

  3.   

    少,复制一列进去了:
    上面语句输出结果:
    1 一号 File001 问题一 File004 问题四
    1 一号 File002 问题二 File005 问题五
    2 二号 File003 问题三 File006 问题六
    3 三号 NULL NULL NULL NULL
      

  4.   

    谢谢解答问题,不过还有几个表连在一起,如果要加的话,该怎么弄会比较好呢,还请指教:
    还有一个表D如下:
    序号  文件编号  文件简要  创立日期
    1      File006    测试一       2007-04-01
    2      File005    测试二     2007-04-05还有表E如下:(是D表的扩展表)
    序号  父序号  内容       概况
    1       1     测试扩展一   扩展
    2       2     测试扩展二 扩展二最终汇合而成的表如下:
    目录编号   目录名称   文件编号   文件名称   子文件编号 子文件名称  文件简要   内容
    01           一号      File001    问题一      File004   问题四       null
    01           一号      File002    问题二      File005   问题五      测试二    测试扩展二
    02           二号      File003    问题三      File006   问题六      测试一      测试扩展一
    03           三号      null       null        null      null谢谢大哥给解答一下,不甚感激!
      

  5.   

    目录编号   目录名称   文件编号   文件名称   子文件编号 子文件名称  文件简要   内容
    01           一号      File001    问题一      File004   问题四       null     null
    01           一号      File002    问题二      File005   问题五      测试二    测试扩展二
    02           二号      File003    问题三      File006   问题六      测试一      测试扩展一
    03           三号      null       null        null      null        null        null