我一直试图为这个案例找到解决方案。
现在我正在尝试在单个表中的每一行中创建和检索重复值
date date_year, date_month, date_day, weeday_nm, start_time, end_time
2014-10-6 2014 10 6 Monday 2014-10-06 00:00:00.000,2014-10-06 23:59:59.000
2014-10-7 2014 10 7 Tuesday 2014-10-07 00:00:00.000,2014-10-07 23:59:59.000
在输出中,我想看一条记录
date date_year, date_month, date_day, weeday_nm, start_time, end_time
2014-10-6 2014 10 6 Monday 2014-10-06 00:00:00.000,2014-10-06 23:59:59.000
2014-10-6 2014 10 6 Monday 2014-10-06 00:00:00.000,2014-10-06 23:59:59.000
2014-10-7 2014 10 7 Tuesday 2014-10-07 00:00:00.000,2014-10-07 23:59:59.000
2014-10-7 2014 10 7 Tuesday 2014-10-07 00:00:00.000, 2014-10-07 23:59:59.000'
'
'
'
'
'
有这么多行有什么方法可以完成这个案子吗?
答案 0 :(得分:0)
将CROSS JOIN
添加到包含两行的表中 - 如果您使用的是SQL Server 2008或更高版本,最简单的方法是使用表值构造函数,例如。
SELECT t.*
FROM YourTable AS t
CROSS JOIN (VALUES (1), (2)) AS cj (Number)
如果您使用的是早期版本,请使用:
SELECT t.*
FROM YourTable AS t
CROSS JOIN (SELECT Number = 1 UNION ALL SELECT 2) AS cj;
这样您就可以复制记录而无需两次读取表格。