您的位置:首页 > 其它

生成最近几个月的临时表

2015-05-06 16:19 127 查看
最近存储过程用到要显示最近几个月的数据,但是存储的数据可能不是每个月都有。因此需要事先生成一个最近几个月连续的表,然后与数据表左连接。

月份
2015-01
2015-02
2015-03
2015-04
2015-05
+

月份数据
2015-01234.1
2015-02253.2
2015-03243.4
2015-05264.1
=

月份数据
2015-01234.1
2015-02253.2
2015-03243.4
2015-040
2015-05264.1
创建临时表

CREATE TABLE #TEMP(MONTHDATA VARCHAR(7))
DECLARE @N INT = 5
WHILE @N>0
BEGIN
INSERT INTO #TEMP(MONTHDATA)SELECT CONVERT(VARCHAR(7),DATEADD(MM,0-@N+1,GETDATE()),120)
SET @N-=1
END


获取月份连续的表

SELECT #TEMP.MONTHDATA,TB.VALUEDATA FROM #TEMP LEFT JOIN TB ON #TEMP.MONTHDATA=TB.MONTHDATA


最后记得Drop临时表
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: