怎么让查询结果出现多次

jishengzu 2010-01-10 01:57:31
比如
select getdate()

这样查询出来的结果是一行

我要让它变为12行 该怎么做。
...全文
64 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
SQL77 2010-01-10
  • 打赏
  • 举报
回复

SELECT
DATEADD(MM,NUMBER,'2009-01-01')

FROM
MASTER..SPT_VALUES

WHERE TYPE='P'

AND DATEADD(MM,NUMBER,'2009-01-01')<='2009-12-01'


------------------------------------------------------
2009-01-01 00:00:00.000
2009-02-01 00:00:00.000
2009-03-01 00:00:00.000
2009-04-01 00:00:00.000
2009-05-01 00:00:00.000
2009-06-01 00:00:00.000
2009-07-01 00:00:00.000
2009-08-01 00:00:00.000
2009-09-01 00:00:00.000
2009-10-01 00:00:00.000
2009-11-01 00:00:00.000
2009-12-01 00:00:00.000

(所影响的行数为 12 行)


产生缺失月份
SQL77 2010-01-10
  • 打赏
  • 举报
回复
SELECT 
NUMBER,
GETDATE() TIME
FROM
MASTER..SPT_VALUES

WHERE TYPE='P'

AND NUMBER BETWEEN 1 AND 12

NUMBER TIME
----------- ------------------------------------------------------
1 2010-01-10 14:14:13.390
2 2010-01-10 14:14:13.390
3 2010-01-10 14:14:13.390
4 2010-01-10 14:14:13.390
5 2010-01-10 14:14:13.390
6 2010-01-10 14:14:13.390
7 2010-01-10 14:14:13.390
8 2010-01-10 14:14:13.390
9 2010-01-10 14:14:13.390
10 2010-01-10 14:14:13.390
11 2010-01-10 14:14:13.390
12 2010-01-10 14:14:13.390

(所影响的行数为 12 行)
jishengzu 2010-01-10
  • 打赏
  • 举报
回复
就是用于查询住户12个月的租金情况
其他有某个月未登记租金,
如果用用户表join租金表的话就少了某个月的记录。
pt1314917 2010-01-10
  • 打赏
  • 举报
回复

select a.* from (select dt=getdate())a full join
(select a=1 union all select 2 union all select 3
union all select 4
union all select 5
union all select 6
union all select 7
union all select 8
union all select 9
union all select 10
union all select 11
union all select 12)b
on 1=1

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧