表1:
ID | FOO_ID | BAR| START_DATE | END_DATE
1 | 343 | 3 | 11-02-2014 | 2-03-2016
表2:
ID | FOO_ID | BAR | MONTH | CALCULATION A
1 | 343 | 3 | 1 | .98772
2 | 343 | 3 | 2 | .92422
3 | 343 | 3 | 3 | .89223
4 | 343 | 3 | 4 | .79002
5 | 343 | 3 | 5 | 1.00182
6 | 343 | 3 | 6 | .97235
7 | 343 | 3 | 7 | .98674
8 | 343 | 3 | 8 | .99986
9 | 343 | 3 | 9 | .78942
10 | 343 | 3 | 10 | .67932
11 | 343 | 3 | 11 | .95282
12 | 343 | 3 | 12 | .94828
期望的结果:
FOO ID | BAR | MONTH | CALCULATION A
343 | 3 | 11 | .95282
343 | 3 | 12 | .94828
343 | 3 | 1 | .98772
343 | 3 | 2 | .92422
343 | 3 | 3 | .89223
343 | 3 | 4 | .79002
343 | 3 | 5 | 1.00182
343 | 3 | 6 | .97235
343 | 3 | 7 | .98674
343 | 3 | 8 | .99986
343 | 3 | 9 | .78942
343 | 3 | 10 | .67932
343 | 3 | 11 | .95282
343 | 3 | 12 | .94828
343 | 3 | 1 | .98772
343 | 3 | 2 | .92422
我在这里尝试做的是创建“期望结果”表,以便我可以从表1中的每一行开始日期(2014年11月1日)对表2中的列'计算a'求和示例),到示例中的结束日期(2/2016)。表2中的计算仅包含月份列。在这个例子中,我必须两次总结第1个月,第2个月,第11个月和第12个月。
SUM(Calculation A)
group foo_id, bar
我遇到麻烦的地方是必须将第1个月,第2个月,第11个月和第12个月两次相加,并让它在“所需的结果表中出现两次。我需要帮助这个查询来创建”所需的表“来自MySQL的表1和表2。
答案 0 :(得分:0)
应该获得输出
select FOO_ID, BAR, MONTH, `CALCULATION A`
from table 2
order by field(month , 11, 12, 1, 2, 3,4, 5,6 ,7 8,9, 10)