0
我有一张表格,其数据看起来像这样。该col1
和col2
是值和指数是基于关闭nodeID
,Date
和Hour
SELECT根据另一个表中的权重返回聚合答案
nodeID col1 col2 Date Hour
1 8 4 1/1/2010 1
2 2 7 1/1/2010 1
3 1 2 1/1/2010 1
4 6 3 1/1/2010 1
... ... ... ... ...
1 2 2 1/1/2013 1
2 3 4 1/1/2013 1
3 7 1 1/1/2013 1
4 5 1 1/1/2013 1
我有一个具有基于天(而不是小时)不同的权重另一个表,它会是这样的,除了除了'foo'之外还会有很多名字。每个名称将位于多行中,并且每个行都具有nodeID的权重因子。
特定日期的每个名称都会有一个加起来为1的加权。
name nodeID weighting Date
foo 1 .6 1/1/2010
foo 2 .4 1/1/2010
foo 1 .6 1/1/2013
foo 2 .3 1/1/2013
foo 3 .1 1/1/2013
... ... ... ...
我需要在表来查询从所有与父数据的加权平均值的名称的数据1.
例如
name col1 col2 Datecol Hour
foo 5.6 5.2 1/1/2010 1
foo 2.8 2.5 1/1/2013 1
注意,从1改变的权重/ 1/2010至2013年1月1日,甚至包括一个额外的nodeID
。
感谢你们,我不知道加入是如此灵活,我认为我将不得不做一些摆动或unfivoting。无论如何,通过这样做,我发现weightedcol1,2是他们应该的两倍。任何想法为什么会这样?它很简单,可以把/ 2放在最后,但我不想那样做,除非我知道它会一致。另外,我忘了一件让这有点棘手的事情。权重表每天都没有数值。如何使用<= n.date的权重的最近一天。例如,如果我的体重ex有12/21/2012而不是1/1/2013? – 2013-03-06 02:24:09
根据您提供的模式,您不应该获得双重权重。你确定每个日期每个名称只有一组权重吗?每个节点每个nodeID只有一组节点值? – 2013-03-06 04:32:00
你能够根本改变你的模式吗? – 2013-03-06 04:40:29