select * from t where dir1='文件' or dir2='文件' or dir3='文件' or dir4='文件'

解决方案 »

  1.   

    也就是不能通过名称来判定是否是文件了,
    那么怎样知道对应的dir中的内容是文件还是目录呢
      

  2.   

    select * from 表 where dir1='文件' or dir2='文件' or dir3='文件' or dir4='文件'
      

  3.   

    呵,我自己已经搞定了,不过为了供大家学习,我写出来,如果能更加精简的话,请朋友指教,
    有人问目录与文件是怎么区分的,其实很简单,文件就是最终的,而目录的话,他的下一级还会有东西,不知道懂不懂
    "select * from category where (dir2id in (select dir2id from category group by dir2id having count(*) = 1) or dir3id in (select dir3id from category group by dir3id having count(*) = 1) or dir4id is not null) order by cdir2,cdir3,cdir4category:表
    由于特殊原因,目录1在前面已经选定,后面就不用考虑了,
    希望大家指教