求指点:怎样实现根据传入的公式计算结果
数据库:sql2000 企业版
有一个用于保存统计结果的中间表
表结构如下:
机构编号 年份 月份 变量名 变量值
LN001 2014 10 S001 1680
LN001 2014 10 S002 788
LN001 2014 10 S003 999
HB001 2014 10 S001 4680
HB001 2014 10 S002 2555
HB001 2014 10 S003 7788
...... ...... ...... ...... ......
BJ002 2014 10 S501 78
BJ002 2014 10 S502 168
BJ002 2014 10 S503 900
要求根据传入的公式来计算结果
例如:
1 要查询 LN001 2013年10月的损益
2 要查询 LN001 2013全年的损益
公式为 S001+S002+S010*2-S078+(S092/2)+S188*0.5
说明:这个公式的长度不是固定的(超过500个变量)
我的考虑是把行转换成列这样一个select 就搞定
但是变量太多了,不知道会不会超过sql数据表的最大列数。另外就是行列转换会不会很慢影响效率? 因为这个操作是很频繁的。
如果不使用行列转换,有没有更好的解决办法?
如果只能使用行列转换,麻烦哪位能帮忙转换一下 啊啊
谢谢 谢谢
相关推荐
matlab实现复化Newton-Cotes公式求积分的程序应用和代码
matlab实现复化Newton-Cotes公式求积分的程序应用和代码.doc
编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。
编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。这个函数的任务是根据给定的公式计算出一个值s,而这个公式可能涉及到n的某种数学运算。首先,我们需要理解给定的公式是什么,然后考虑如何将其转化为计算机可以理解和执行的形式。 1. **理解公式:** 首先,你需要准确理解给定的公式,这是解决问题的关键。如果给定的公式是一些数学运算,确保你了解每一步的含义和作用。 2. **将公式转化为计算机可以执行的形式:** 一旦你理解了公式,接下来的挑战是将其转化为可以在计算机上
8.编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。
8.编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。 S=1+1/(1+2)+1/(1+2+3)+……1/(1+2+3+…+n) 例如:若n的值为11时,函数的值为1.833333。 #include <stdio.h> float fun(int n){ float s=0; float m=0; for(int i=1;i<=n;i++){ m+=i;// 1,1+2,1+2+3 s+=(1/m); } return s; }
复合梯形公式求积分
数值计算积分,利用复合梯形公式求积分,计算结果误差较小
根据以下公式求p的值,结果由函数值带回
编写函数fun,其功能是:根据以下公式求p的值,结果由函数值带回。M与n为两个正整数且要求m>n。 P=m!/n!(m-n)! 例如:m=12,n=8时,运行结果为495.000000 注意:部分源程序在文件PROJ1.C中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。


