我想查询 奥美拉唑针 这种药 5月1日~8月31日 期间 每个医院使用的数量,请问下语句一个怎么写!
我自己写了一个语句 如下
 SELECT   m.commodityname, SUM (allnumber)
    FROM   nhdba.zymxdetail, nhdba.med m 
   WHERE   nhdba.zymxdetail.medid=m.medid and nhdba.zymxdetail.ID IN
                 (SELECT   ID
                    FROM   nhdba.zybc
                   WHERE       commodityname LIKE '%奥美拉唑针%'
                           AND rydate >= TO_DATE ('20090501', 'yyyymmdd')
                           AND rydate <= TO_DATE ('20090831', 'yyyymmdd'))
   
GROUP BY   m.commodityname这个只能列出 奥美拉唑针 5月1日~8月31日使用的总的数量,医院的表名是jzhospitalid 请问下命令应该怎么写才能显示出每个医院使用的数量?

解决方案 »

  1.   

    SELECT  m.commodityname, SUM (allnumber) 
        FROM  nhdba.zymxdetail, nhdba.med m,jzhospitalid n
      WHERE  nhdba.zymxdetail.medid=m.medid and nhdba.zymxdetail.ID IN 
                    (SELECT  ID 
                        FROM  nhdba.zybc 
                      WHERE      commodityname LIKE '%奥美拉唑针%' 
                              AND rydate >= TO_DATE ('20090501', 'yyyymmdd') 
                              AND rydate <= TO_DATE ('20090831', 'yyyymmdd')) 
               and n.column=....
      
    GROUP BY  m.commodityname,n.医院ID
    仅供参考
      

  2.   

    给个建议。尽量不要使用IN,其次用exists,最好用 from (select  * from )