关于sql语句中where条件内添加case when的问题

背景:数据库用的Oracle;

报表用的是【FineReport】,之前没用过,被临时授命解决问题,所以大概了解了一下。里面应该是集成了excel插件,报表样式如下:

今天在项目中遇到一个这样的场景:

A为汇总页面,显示的是按医院分组统计出来的一些数据,效果如下图

图中每一列都能下钻到另一个页面,医院名称和起始时间都作为参数传送。

前期因为某一些需求,有一家医院出现了两个不同的名称,所以将其中一个名称的数据统计到了另一个名称下。而【检查数】这一列下钻后的数据,恰恰是被合并的名称下的数据,所以下钻后就查不到数据了。

跟实施那边反馈后,他们给出了一个中转方案:下钻到一个临时页面,在页面中显示一个被合并名称的超链接,再下钻一层就能查出数据了。

但我觉得这样的客户体验不好,所以想到了能不能在where中增加case when。所以在网上查了一下,果然是可行的。所以就将下钻后的查询条件修改成了下图这样:

之前的条件为:study.HospitalName='${xxxx}'。

这里记录一下,为以后需要的同行铺一下路。也记录一下解决问题的过程,帮助自己留下印象。

发布了8 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/aw277866304/article/details/100138221
今日推荐