当前位置:数据库 > SQLServer >>

请教各位高手,怎样写这样的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表格里,出现问题

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,