如何在具有稀疏日期数的表和具有详尽日期数的另一个表之间连接,以使稀疏日期之间的间隔采用前一个稀疏日期的值?
说明性示例:
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,其相关子查询的优化很差。有什么方法可以在不使用相关子查询的情况下做到这一点?