我想查询某一个医院 在 特定的时间段里 某一个病种的 住院情况,请问应该怎么写?医院 = jzhospitalid时间段=  rydate >= TO_DATE ('20090501', 'yyyymmdd')
         rydate <= TO_DATE ('20090831', 'yyyymmdd')病种的表名是 JBBC 里面的病种的字段是 JBMC。 例如我要查询508号医院 1月-8月的 肺炎 病人的情况。请问应该怎么写?

解决方案 »

  1.   

    select * from jbbc
    where jbmc='肺炎'
    and rydate >= TO_DATE ('20090501', 'yyyymmdd') 
            rydate < TO_DATE ('20090901', 'yyyymmdd')
    and jzhospitalid =508
      

  2.   

    select * from jbbc
    where jbmc='肺炎'
    and to_char(rydate,'YYYYMM')  BETWEEN '200901' AND '200908'
    and jzhospitalid =508 
      

  3.   

    2位大哥 你们的命令运行都报错。我忘了说我是oracle数据库 
    报错如下:ORA-00900:invalid SQL tatement
      

  4.   

    你问在oracle版,大家都知道是的ORACLE
    多数是你复制代码时错了BTW,跪求的一律无视
      

  5.   

    select * from jbbc 
    where jbmc='肺炎' 
    and to_char(rydate,'yyyymm')  BETWEEN '200901' AND '200908' 
    and jzhospitalid =508 
      

  6.   

    如果你的 jzhospitalid 字段是字符型的话,就 508 改为 '508select * from jbbc 
    where jbmc='肺炎' 
    and to_char(rydate,'yyyymm')  BETWEEN '200901' AND '200908' 
    and jzhospitalid ='508' 
      

  7.   

    我想我应该没有说清楚。
    医院的表名是ZYBC  里面代表医院的字段是jzhospitalid  时间段表名也是ZYBC  里面代表时间的字段是
    rydate >= TO_DATE ('20090501', 'yyyymmdd') 
    rydate <= TO_DATE ('20090831', 'yyyymmdd')病种的表名是 JBBC 里面的病种的字段是 JBMC
      

  8.   

    select * 
    from JBBC a,ZYBC b
    where a.jzhospitalid = b.jzhospitalid
    and a.JBMC = '肺炎'
    and b.jzhospitalid = 508
    and b.rydate >= TO_DATE ('20090501', 'yyyymmdd')
    and b.rydate <= TO_DATE ('20090831', 'yyyymmdd')
      

  9.   

    a.jzhospitalid 出错。。JBBC里面没有 jzhospitalid 这个字段的!
      

  10.   

    select * 
    from JBBM a,ZYBC b 
    where 
     a.JBMC = '肺炎' 
    and b.jzhospitalid = 508
    and b.rydate >= TO_DATE ('20090501', 'yyyymmdd') 
    and b.rydate <= TO_DATE ('20090831', 'yyyymmdd') 我把命令改成这个 显示出结果了
      

  11.   

    那你的病种的表名是 JBBC 和医院的表名是ZYBC ,这两张表总有个关联的字段吧?
      

  12.   

    我之前查询了某个医院总的用药数量并且显出每种药用的数量 我命令是这样写的
      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       jzhospitalid = '520'
                               AND rydate >= TO_DATE ('20090501', 'yyyymmdd')
                               AND rydate <= TO_DATE ('20090831', 'yyyymmdd'))
    GROUP BY   m.commodityname现在要查询病种,想讲究这个改下。。
    其实这个几个字段加起来就是一条完整的住院信息!
      

  13.   


    select * 
    from JBBM a,ZYBC b 
    where 
    a.JBMC = '肺炎' 
    and b.jzhospitalid = 508 
    and b.rydate >= TO_DATE ('20090501', 'yyyymmdd') 
    and b.rydate <= TO_DATE ('20090831', 'yyyymmdd') 
    and a.jbmx = b.对应病种的字段