我正在使用SQL Server 2012
,并且我有以下T-SQL
查询,该查询正常:
;WITH N(N)AS
(SELECT 1 FROM(VALUES(1),(1),(1),(1),(1),(1),(1),(1),(1),(1))M(N)),
tally(N)AS(SELECT 1 FROM N,N a,N b,N c,N d)
SELECT
Mkt,
Property,
Season,
b.Date,
TName,
FROM Table1 a
CROSS APPLY
(
SELECT top(datediff(d,Datefrom,case when DateTo >= DateFrom
then dateadd(d, 1, DateTo) else DateFrom end))
DATEADD(d,row_number()over(order by 1/0)-1, DateFrom) Date
FROM tally
) b
我需要将上述查询的输出插入另一个表中(我们称其为 Table2
(。
如何用INSERT INTO
语法包装上述查询?
您需要像下面一样使用。检查此行..插入您的tableName(Col1,col2 .....(定义了您的taberamame和columnNames ..
;WITH N(N)AS
(
SELECT 1 FROM(VALUES(1),(1),(1),(1),(1),(1),(1),(1),(1),(1))M(N)
),
tally(N) AS
(
SELECT 1 FROM N,N a,N b,N c,N d
)
INSERT INTO yourTableName(col1,col2.....)
SELECT
Mkt,
Property,
Season,
b.Date,
TName,
FROM Table1 a
CROSS APPLY
(
SELECT top(datediff(d,Datefrom,case when DateTo >= DateFrom
then dateadd(d, 1, DateTo) else DateFrom end))
DATEADD(d,row_number()over(order by 1/0)-1, DateFrom) Date
FROM tally
) b