如何在具有稀疏日期数的表格和具有详尽数量日期的另一个表格之间进行联接,以便稀疏日期之间的差距取前一个稀疏日期的值?需要SQL中复杂联接语句的帮助
说明性的例子:
PRICE table (sparse dates):
date itemid price
2008-12-04 1 $1
2008-12-11 1 $3
2008-12-15 1 $7
VOLUME table (exhaustive dates):
date itemid volume_amt
2008-12-04 1 12345
2008-12-05 1 23456
2008-12-08 1 34567
2008-12-09 1 ...
2008-12-10 1
2008-12-11 1
2008-12-12 1
2008-12-15 1
2008-12-16 1
2008-12-17 1
2008-12-18 1
期望的结果:
date price volume_amt
2008-12-04 $1 12345
2008-12-05 $1 23456
2008-12-08 $1 34567
2008-12-09 $1 ...
2008-12-10 $1
2008-12-11 $3
2008-12-12 $3
2008-12-15 $7
2008-12-16 $7
2008-12-17 $7
2008-12-18 $7
更新:
一对夫妇的人建议相关子查询是实现期望的结果。 (相关子查询=包含对外部查询引用的子查询。)
这将工作;然而,我应该注意到我使用的平台是MySQL,相关子查询的优化程度很差。任何不使用相关子查询的方法?
你可以编辑标题或删除并重新开始? – 2008-12-18 17:23:03
看起来像别人做的。是的,没有在那里注意。 – 2008-12-18 17:26:50
需要输入的列名和所需的输出。现在这个问题的措辞是不明确的 – 2008-12-18 17:26:51