文件夹与文件数据一起的表
DirFile表:  
Id  文件夹与文件ID
FileFlag 标识是否为文件夹或者文件
UserName 谁创建的文件或者文件夹Share表:
DirFileID   文件夹或者文件的ID
DirHaveName 文件拥有者
ShareName   共享给谁
Flag        标识是否为文件或者文件夹
TypeID      所属类型因为DirFile表是一个视图来的,是Directory和File表结合到一起,
它们的ID都是自动增长,所以都是相互重复的。
求救~~~~~~~~~我要通过DirHaveName和ShareName,还有Flag来查询出DirFile视图的数据在线等~~~~~~~~~~~~~

解决方案 »

  1.   


    SELECT A.ID,A.FILEFLAG,A.USERNAME FROM DIRFILE A INNER JOIN
    SHARE B ON A.ID=B.DIRFILEID WHERE B.DIRHAVENAME='参数' AND B.SHARENAME='参数'
      

  2.   

    忘了一个FLAG
    SELECT A.ID,A.FILEFLAG,A.USERNAME FROM DIRFILE A INNER JOIN
    SHARE B ON A.ID=B.DIRFILEID AND A.FILEFLAG=B.FLAG WHERE B.DIRHAVENAME='参数' AND B.SHARENAME='参数' and flag='标示'
      

  3.   

    可能我表达错了:那个Flag是取不到的,是通过Share表查询DirHaveName和ShareName符合条件,再去判断Flag,显示到页面上去。
      

  4.   

    select * from DirFile表
    where Id in(select DirFileID from Share表 where  DirHaveName= @DirHaveName and ShareName =@ShareName and Flag=@Flag)  
    参数赋值一下,
    你贴一下数据,这样更容易理解,
      

  5.   

    create proc GetDirFile
    @DirHaveName varchar(50),
    @ShareName varchar(50),
    @Flag bitas
      select a.* 
      from DirFile as a join Share as s on id=DirFileID
      where DirHaveName=@DirHaveName and
            ShareName=@ShareName and
            Flag=@Flag
    goexec GetDirFile 'DirHaveName','ShareName', 1
      

  6.   

    现在就是怕DirFile显示出来的数据文件夹以及文件混淆.
    这是我做的第一个项目,以前是很长很长的一个SQL语句,现在又弄在了视图,却不知道怎么读数据出来了
      

  7.   

    select 
    a.*
    from 
    DirFile a,Share b  
    where 
    a.Id=b.DirFileID and a.FileFlag=b.FileFlag and b.DirHaveName=@DirHaveName and ShareName=@ShareName
      

  8.   

    select 
        a.*
    from 
        DirFile a,Share b  
    where 
        a.Id=b.DirFileID and a.FileFlag=b.Flag and b.DirHaveName=@DirHaveName and ShareName=@ShareNameShare 、DirFile 的FileFlag/Flag作為條件