请教各位高手,怎样写这样的SQL Server查询语句?
有一个日期表:
日期
2012/1/1
2012/1/2
2012/1/3
2012/1/4
2012/1/5
2012/1/6
2012/1/7
2012/1/8
2012/1/9
2012/1/10
2012/1/11
2012/1/12
2012/1/13
2012/1/14
2012/1/15
一个价格表:
日期 价格
2012/1/2 10
2012/1/5 11
2012/1/6 9
2012/1/10 10
2012/1/15 12
希望查询后得到这样一个结果:
日期
2012/1/1 null
2012/1/2 10
2012/1/3 null
2012/1/4 null
2012/1/5 11
2012/1/6 9
2012/1/7 null
2012/1/8 null
2012/1/9 null
2012/1/10 10
2012/1/11 null
2012/1/12 null
2012/1/13 null
2012/1/14 null
2012/1/15 12
请问这样的查询语句怎么写?
再追问一下,有没有可能得到这样的一个结果呢?即上表中为null的格子重复最后一个价格!
日期
2012/1/1 null
2012/1/2 10
2012/1/3 10
2012/1/4 10
2012/1/5 11
2012/1/6 9
2012/1/7 9
2012/1/8 9
2012/1/9 9
2012/1/10 10
2012/1/11 10
2012/1/12 10
2012/1/13 10
2012/1/14 10
2012/1/15 12
请高手不吝指教!
答案:select a.日期,b.价格 from a left join b on a.日期=b.日期 order by a.日期;
第二个问我想想...,可能要用复合语句
第二个问:
select a.日期,case b.价格 is null then (select top 1 c.价格 from b c where c.日期<a.日期 order by c.日期 desc ) else b.价格 end from a left join b on a.日期=b.日期 order by a.日期;其中C和B是同一个表
上一个:【紧急】sql server 2008附加数据库错误5120(具体信息请看图)
下一个:VB实现将数据从SQL server2005导入到excel表格里,出现问题