热心市民DiDiDi 2019-10-28 15:32 采纳率: 0%
浏览 1982

Oracle中如何对多个字段的值进行判断并计数

数据库中根据业务表创建了视图,存储有SSRQ1-6、SSJB1-6共12个字段,同时新增了四个字段S1-S4用来存储SSJB1-6中对应数值的计数
图片说明

业务场景为:
每一条数据表示一个个案,需要统计每个个案中各级别手术的个数

业务需求是:
当SSRQ1-6中任意两个字段有相同值时,取SSJB1-6中数值最大的,在对应的级别下计数+1;
当SSRQ1-6中存在不同值时,每个对应的SJJB都需要取,在对应的级别下计数+1

例如:

图片说明

28日有二级/三级手术,取三级手术,S3下计数+1;

29日有一级/二级手术,取二级手术,S2下计数+1;

14日有四级手术,S4下计数+1;

汇总后该条个案对应的S1-S4分别为0/1/1/1

求问大神这样用sql语句怎么实现
case when 和decode都试过了

  • 写回答

2条回答 默认 最新

  • 情谊梦幻 2019-10-28 15:40
    关注

    这种复杂的功能,用功能业务实现比较好,sql我看有点复杂

    评论

报告相同问题?