我在 SQL Server 2008 数据库中有一个表,其中包含三列:dt、indx_nm和indx_val
当我运行时:
SELECT *
FROM table1 a
WHERE a.indx_nm = 'ABQI' OR a.indx_nm = 'ACNACTR'
ORDER BY indx_nm, dt
我得到类似的东西(只需选择 3000 个值中的随机 8 个)
# dt--------------indx_nm----------------indx_val
2009-06-08---------ABQI------------------1001.25
2009-06-09---------ABQI------------------1002.12
2010-06-08---------ABQI------------------928.76
2011-06-10---------ABQI------------------959.97
2009-06-08--------ACNACTR----------------300.05
2009-06-09--------ACNACTR----------------341.19
2010-04-08--------ACNACTR----------------428.26
2011-07-10--------ACNACTR----------------509.48
有什么方法可以返回一个看起来像的结果
# dt---------indx_nm1-----indx_val1-------indx_nm2------indx_val2
2009-06-08----ABQI------1001.2------------ACNACTR----------300.05
2009-06-09----ABQI------1002.12 ----------ACNACTR----------341.19
本质上匹配索引号之间的共享日期,然后加入另一个indx_nm及其对应indx_val的结果?
*附录
所以我试图找到 和 之间的协ABQI方差ACNACTR。我知道我可以取整个indx_val1'的平均值和整体的平均值,index_val2但是有没有办法可以循环遍历整个 1000 多行的集合,以获取每个值indx_val1并indx_val2输入 (xi-x)(yi- y) / n
我可能在 vba 上更容易做到这一点,但我认为它无法处理它(我有数百个我想确定协方差的 indx_nm)