有没有办法在 t-sql 中创建一个只有一列的临时表,加载它并检索数据?让我解释...
我有一个这样的存储过程:
SELECT @cols = STUFF(( SELECT DISTINCT TOP 100 PERCENT '],[' + cast(MonthYear as varchar(10)) FROM vCountByMonthYear where
SiteGUID = @SiteGuid
and
MonthYear BETWEEN @StartDate AND @StopDate
ORDER BY '],[' + cast(MonthYear as varchar(10)) FOR XML PATH('') ), 1, 2, '') + ']'
SET @query = N'SELECT Wuc,LineCount, ' + @cols +' FROM (SELECT Wuc,MonthYear,LineCount,Value,OrderBy FROM vCountByMonthYear
where SiteGUID = ' + CHAR(39) + CONVERT(nvarchar(36), @SiteGuid) + CHAR(39) +
' and MonthYear BETWEEN '
+ CHAR(39)
+ CONVERT(nvarchar(10),@StartDate )
+ CHAR(39)
+ ' AND '
+ CHAR(39)
+ CONVERT(nvarchar(10),@StopDate )
+ CHAR(39)
+ ' ) p
PIVOT ( Sum ([Value] ) FOR MonthYear IN ( '+ @cols +' ) ) AS pvt ORDER BY Wuc,OrderBy'
execute(@query)
如果我修改视图,事情就会变得一团糟,但我需要从该视图中获取更多信息——一个 EventId 字段。如果将其添加到此查询中,我的结果都不好,所以我想我可以创建一个临时表并插入我需要的内容,然后从一个总是在之后立即运行的不同存储过程中查询临时表并将其删除。
那可行吗?如何删除刚刚查询的同一个存储区中的表?我是不是在想这个?
谢谢,里修