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=?
这个是用来统计用过的。
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=?
这个是用来统计用过的。
解决方案 »
- 求教同时连接oracle8i和11g的方法
- oracle 数据库无法启动
- 匹配向量问题
- 在11g中。我解开了HR用户了。可是登录时还是提示:“应用程序要求的数据库权限超出了您当前具有的权限。有关特定版本的详细信息, 请单击“帮助”。”
- 大侠们,留步。请教个关于ORACLE 中表 列的问题。
- Oracle 使用Entity Framework的问题
- 高分紧急求救,INSTRB与SUBSTRB的问题
- 游标出界问题?
- 求一sql于句,从oracle读出当前用户的所有表名,但是不要系统表
- 怎么把Access里的数据导倒Oracle9i里?我试着用ODBC调用不行。老板要,十万火急!!!!!
- 如何用数组存数据
- 从数据表内读出sql语句,在存储过程中执行
等同于count(1)
随便里面怎么写,结果都是一样的
恩,是这样的!不知道LZ的SQL有没有问题