有点难度的SQL,如何查找能做全部检查项目的医院
有3个表   
 1,CS表-保存检查项目信息 
 检查项目编号   Varchar(3) 
 检查项目名         Varchar(50)   
 2,HOSP表-保存医院信息 
 医院编号      Varchar(3) 
 医院名            Varchar(50)   
 3,CSHP表-保存各个医院能够做的检查项目 
 医院编号      Varchar(3) 
 检查项目编号   Varchar(3)   
 现在需要查找能够做CS表中所有检查项目的医院的名字,要求用1条SQL语句 
 数据量不大,不用过分追求效率。(各表纪录数约   20,100,1500)     
------解决方案--------------------1: CS  <table>  
 proId,proName   
 2: HOSP  <table>  
 hospId,hospName   
 3: CSHP  <table>  
 hospId,proId   
 =========================sql====================   
    select h.hospName 
      from HOSP h, 
           CSHP c, 
           ( 
            select count(*) cs_count from CS 
           )cs 
     where c.hospId = h.hospId 
     group by c.hospId 
     having count(*) = cs_count; 
------解决方案--------------------SELECT t2.医院名,t1.检查项目名 
 FROM   CS t1 
 LEFT   OUTER JOIN CSHP t2 ON t1.检查项目编号 = t2.检查项目编号 
 LEFT   OUTER JOIN HOSP t3 ON t2.医院编号 = t3.医院编号
------解决方案--------------------select cs.检查项目编号, cs.检查项目名, hosp.医院编号, hosp.医院名 
 from cs, cshp, hosp 
 where cs.检查项目编号=cshp.检查项目编号(+) and cshp.医院编号=hosp.医院编号(+)