现在有这样一个需求:
一个计算公式
YLFW_YLFY_016=YLFW_YLFY_014*100/(YLFW_YLFY_014+YLFW_YLFY_015)
需要动态的把以上计算公式解析成3个基础的代码YLFW_YLFY_014、YLFW_YLFY_015、YLFW_YLFY_015
每个基础的代码,例如YLFW_YLFY_014需要关联一张字典表动态生成一个sql语句,其中可能有sum,count,group by语句等到一个结果集如下:
YLFW_YLFY_014,时间维度,机构维度,value
剩下的2个指标同理
最后要做的是将这3个基础指标的值按照计算公式进行计算
目前我才用的方式就是拼接sql,感觉效率很低,有没有什么好的方法?
------解决思路----------------------
建个临时表: #temp(基础代码,YLFW_YLFY_014,YLFW_YLFY_015,YLFW_YLFY_016)
一次性把所有基础代码的YLFW_YLFY_014,YLFW_YLFY_015都统计出来。
然后用动态语句执行公式
UPDAT #temp SET YLFW_YLFY_016=YLFW_YLFY_014*100/(YLFW_YLFY_014+YLFW_YLFY_015)
不用拆分公式、不用循环每个基础代码。