把保号(grbh)和时间也加入group by ,就可以实现相同参保号(grbh)同一天在同一家医疗机构(yymc)(,jgmc)就诊的人次数。不知道我理解的对不对。
select grbh,convert(varchar(10),bxrq,120),yymc as '医疗机构',jgmc as '机构代码',count(grbh) as '人次数'
from nb_yyzd【医院字典】,nb_bxjl【报销记录表】,nb_bxjl2【报销记录表2】
where yybh=jgmc【医院字典的医院编号=报销记录表2的机构代码】
and bxlx=1【报销类型】
and bxfs=2【报销方式】
and glzf is null【作废记录的删除条件】
and bxrq>='2013-01-01'【开始查询时间】
and bxrq<'2013-08-01'【终止查询时间】
and nb_bxjl2.bxid=nb_bxjl.bxid【报销记录表与报销记录表2的bxid(报销ID)相关联】
and grbh in (select grbh from nb_bxjl group by grbh,CONVERT( CHAR(20),bxrq, 111 ) having count(grbh)>1)
group by grbh,yymc,jgmc,convert(varchar(10),bxrq,120)
and bxrq>='2013-01-01'【开始查询时间】
and bxrq<'2013-08-01'【终止查询时间】
条件不对,你这样差不多数据, 改成and bxrq='2013-01-01'
其实你只要把三个表用到的字段贴上来就可以了。
顺便说一下都是什么数据,你这样写反而很乱,没思路了
希望可以出示原表与字段。