【发布时间】:2014-11-12 15:51:39
【问题描述】:
有人可以帮忙,这个查询。我的临时表中有 10 行
Declare @date date = '2014-11-01'
Declare @iDate int = '20141101'
Create table #test33(Paname varchar(100))
insert into #test33
Go
现在我在临时表中有 10 行。我想在我的 cte 中动态插入这些临时值
Declare @StartDate date = '2014-11-01'
Declare @EndDate date = '2014-11-30'
Declare @Paname nvarchar(100) = 'MPU' --- i have multiple panames how can i insert dyamically in cte or any other solution?
;with pla as
( SELECT*
FROM [dbo].[Pla] pl
JOIN dbo.testplan cl
ON pl.ClientId = cl.ClientId
where pl.name = @Paname
and pl.StartDate >= @StartDate and pl.EndDate <= @EndDate
)
select * from pla
【问题讨论】:
-
您不会在 CTE 上“插入”数据。我无法理解您在这里真正想要什么
-
第一个代码块是怎么回事?您正在创建一个临时表,然后尝试从刚刚创建的临时表中选择临时表数据?第一个区块与第二个区块有什么关系?
-
嗨 Lamak,我的临时表中有 10 个 Paname 行,而不是 10 次必须在 cte 变量中输入 paname 才能获得我的结果,我可以动态获得结果以逐个插入吗?
-
嗨 Kritner,简而言之,我刚刚给出的第一个块,例如我在临时表中有一些行,我想将其动态插入到第二个代码块中的变量中,并且该变量名称是 Paname 谢谢
标签: sql sql-server stored-procedures dynamic-sql