【发布时间】:2012-01-20 07:51:35
【问题描述】:
我有这些表:
表 1:
date | idcurrency | total
2011-10-11 | 1 | 100
2011-10-14 | 1 | 500
2011-10-12 | 2 | 200
2011-11-01 | 2 | 100
表 2
idcurrency | value | date
1 | 200 | 2011-10-09
1 | 350 | 2011-10-15
2 | 200 | 2011-10-09
2 | 250 | 2011-10-20
我需要根据table 1 中的total 字段与table 2 中的value 字段相乘来计算新的总数。
Table 2 保持货币价值的变化并且不是日期连续的,所以我不知道如何加入这些表格来实现我的目标
改变设计
我正在考虑改变 table2 的设计,添加一个新字段来保存货币值范围的最终日期,如下所示:
idcurrency | value | start_date | end_date
1 200 2011-10-09 2011-10-14
1 350 2011-10-15 2011-12-14
2 200 2011-10-09 2011-10-19
2 250 2011-10-20 2011-12-14
然后,我可以在不使用“外部应用”的情况下加入 table1 和 table2,但现在我正在尝试查询以添加这个新字段
谢谢!!
【问题讨论】:
-
你试过什么?您是否有一个您认为应该有效但无效的查询?
-
您是否可以控制表格的设计,或者它们是否已修复?
-
我无法控制设计,但如果我创建一个性能比“外部应用”解决方案更好的解决方案,我可以要求更改我正在考虑更改设计的设计table2,添加一个新字段以保存货币值范围的最终日期,如上。然后,我可以在不使用“外部应用”的情况下加入这些表,从而提高查询的性能
标签: sql-server tsql date join