select * from bmdmb
where (bmmc = '计算机总支') or
      (bmmc = '计算机团委') or
      (bmmc = '计算机班委') or
      (bmmc = '计算机系办') or
      (bmmc = '电信系总支') or
      (bmmc = '电信系团委') or
      (bmmc = '电信系系办') or
      (bmmc = '艺术系总支') or
      (bmmc = '艺术系团委') or
      (bmmc = '艺术系系办') or
      (substr(bmmc,1,3) = '数理系')

解决方案 »

  1.   

    我试了,不行啊!
    select bmmc from bmdmb order by yjbmdm;
    这样不行啊!
      

  2.   

    select bmmc from bmdmb 
    start with sybmdm=0
    connect by sybmdm = prior id;
    缩进用lpad加空格的方式。自己加吧。
    对connect by 不了解的话,看
    http://blog.csdn.net/snowy_howe/archive/2004/12/13/215207.aspx
      

  3.   

    上面connect by sybmdm = prior bmdm
      

  4.   

    to:qiaozhiwei(乔) 大哥,你的方法我试了,但是没有达到我的要求啊!
    且:我数据库中的内容还有很多,不只有这几条内容。我的部门信息有很多
    但是还有谢谢您!
      

  5.   

    不好意思,搞错楼主意思了,试试这个
    select decode(bmjc,1,bmmc,2,' '||bmmc,3,'  '||bmmc) from bmdmb
    where substr(substr(bmmc,1,3)= '计算机')
    union
    select decode(bmjc,1,bmmc,2,' '||bmmc,3,'  '||bmmc) from bmdmb
    where substr(substr(bmmc,1,3)= '电信系')
    union
    select decode(bmjc,1,bmmc,2,' '||bmmc,3,'  '||bmmc) from bmdmb
    where substr(substr(bmmc,1,3)= '艺术系')
    union
    select decode(bmjc,1,bmmc,2,' '||bmmc,3,'  '||bmmc) from bmdmb
    where substr(substr(bmmc,1,3)= '数理系')
      

  6.   

    select lpad(bmmc,bmjc) bmmc,bmdm,sybmdm,yjbmdm,bmjc
      from bmdmb
      order by bmdm;
      

  7.   

    to :snowy_howe(天下有雪) 大哥
    我用您的方法,select bmmc from bmdmb 
    start with sybmdm=0
    connect by sybmdm = prior bmdm;
    出现“SYBMDM”:invalid indetifier
      

  8.   

    sybmdm(上级部门代码)你的表中没有吗??/
      

  9.   

    select LPAD(' ',length(bmdm)/3)||bmmc as bmmc1 from test 
    --start with sybmdm=0
    connect by sybmdm = prior id
    order by bmmc;
      

  10.   

    测试结果,由于我的测试系统不支持中文,课程名改成英文显示了PAD(' ',length(bmdm)/3)||bmmc as bmmc1 from test
    --start with sybmdm=0
    connect by prior  sybmdm = id
    order by bmmc
    BMMC1                                                                           
    --------------------------------------------------------------------------------
     art                                                                            
      art_tw                                                                        
      art_xb                                                                        
      art_zz                                                                        
       com_bw                                                                       
      com_tw                                                                        
      com_xb                                                                        
      com_zz                                                                        
     computer                                                                       
     math                                                                           
     tel                                                                            
      tel_tw                                                                        
      tel_xb                                                                        
      tel_zz                                                                        
    14 rows selected
     
     
      

  11.   

    那就
    select bmmc from bmdmb 
    start with sjbmdm=0
    connect by sjbmdm = prior bmdm;
      

  12.   

    晕,明明整理好的,发上来变样了BMMC1      
    ---------------------------
     art  
      art_tw 
      art_xb 
      art_zz   
       com_bw  
      com_tw   
      com_xb   
      com_zz  
     computer   
     math   
     tel  
      tel_tw 
      tel_xb
      tel_zz 
    14 rows selected
      

  13.   

    BMMC1      
    ---------------------------
     art  
      art_tw 
      art_xb 
      art_zz   
       com_bw  
      com_tw   
      com_xb   
      com_zz  
     computer   
     math   
     tel  
      tel_tw 
      tel_xb
      tel_zz 
    14 rows selected
      

  14.   

    select lpad(' ',bmjc-1)||bmmc bmmc,bmdm,sybmdm,yjbmdm,bmjc
      from bmdmb
      order by bmdm
      

  15.   

    SQL817> ed
    已写入文件 afiedt.buf  1  select lpad(' ',bmjc-1)||bmmc bmmc,bmdm,sybmdm,yjbmdm,bmjc
      2    from bmdmb
      3*   order by bmdm
    SQL817> /BMMC            BMDM      SYBMDM YJB       BMJC
    --------------- --------- ------ --- ----------
    计算机系        001       0      001          1
     计算机总支     001001    001    001          2
     计算机团委     001002    001    001          2
      计算机系班委  001002001 001002 001          3
     计算机系办     001003    001    001          2
    电信系          002       0      002          1
     电信系总支     002001    002    002          2
     电信系团委     002002    002    002          2
     电信系系办     002003    002    002          2
    艺术系          003       0      003          1
     艺术系总支     003001    003    003          2
     艺术系团委     003002    003    003          2
     艺术系系办     003003    003    003          2
    数理系          004       0      004          1已选择14行。