首页 > 解决方案 > 跨列聚合 SQL-Netezza

问题描述

我想计算 ICD 代码跨列出现的次数。前五列是数据,三个突出显示的列代表我想要的输出。

具有所需输出的数据

我尝试过简单的 case when 语句,但它只是标记而不是跨列求和。是否有任何功能可以帮助我获得所需的输出(三个突出显示的列)。

欢迎任何帮助计算所需输出。

标签: sqlnetezza

解决方案


我认为您需要一个巨大的表达式来累加case表达式值。例如:

(case when dx1 = 'E66' then 1 else 0 end +
 case when dx2 = 'E66' then 1 else 0 end +
 case when dx3 = 'E66' then 1 else 0 end +
 . . . 
)

推荐阅读