select
count(case when (to_char(ekb.VISITTIME, 'yyyy') =? and months_between(ekb.visittime,eak.BIRTHDAY) between 0 and 13) then ekb.archid else null end) as child1AgeY,
count(case when (to_char(ekb.VISITTIME, 'yyyy') =? and months_between(ekb.visittime,eak.BIRTHDAY) between 13 and 25) then ekb.archid else null end)child2AgeY,
count(case when (to_char(ekb.VISITTIME, 'yyyy') =? and months_between(ekb.visittime,eak.BIRTHDAY) between 25 and 36) then ekb.archid else null end)child3AgeY,
count(case when (to_char(ekb.VISITTIME, 'yyyy-mm') =? and (months_between(ekb.visittime,eak.BIRTHDAY) between 0 and 13) and esd.ITEMNAME='农、林、牧、渔、水利业生产人员') then ekb.archid else null end) child1AgeVillageM ,
count(case when (to_char(ekb.VISITTIME, 'yyyy-mm') =? and (months_between(ekb.visittime,eak.BIRTHDAY) between 0 and 13) and esd.ITEMNAME<>'农、林、牧、渔、水利业生产人员') then ekb.archid else null end) child1AgeCityM ,
count(case when (to_char(ekb.VISITTIME, 'yyyy-mm') =? and (months_between(ekb.visittime,eak.BIRTHDAY) between 13 and 24) and esd.ITEMNAME='农、林、牧、渔、水利业生产人员') then ekb.archid else null end)child2AgeVillageM,
count(case when (to_char(ekb.VISITTIME, 'yyyy-mm') =? and (months_between(ekb.visittime,eak.BIRTHDAY) between 25 and 36) and esd.ITEMNAME='农、林、牧、渔、水利业生产人员') then ekb.archid else null end)child3AgeVillageM,
count(case when (to_char(ekb.VISITTIME, 'yyyy-mm') =? and (months_between(ekb.visittime,eak.BIRTHDAY) between 13 and 24) and esd.ITEMNAME<>'农、林、牧、渔、水利业生产人员') then ekb.archid else null end)child2AgeCityM,
count(case when (to_char(ekb.VISITTIME, 'yyyy-mm') =? and (months_between(ekb.visittime,eak.BIRTHDAY) between 25 and 36) and esd.ITEMNAME<>'农、林、牧、渔、水利业生产人员') then ekb.archid else null end)child3AgeCityM
from EHEALTH_KID_BABYCHECKRECORD ekb left join EHEALTH_ARCH_BASICINFO eab on ekb.ARCHID=eab.ARCH_BASICINFOID
left join EHEALTH_SYSTEM_DDITEM esd on eab.vocation= esd.DESCRIPTION
left join ehealth_arch_kidinfo eak on ekb.ARCHID=eak.ARCHID and to_char(ekb.VISITTIME, 'yyyy') =? and edb.icpcode=?
这个是用来统计用过的。