t-sql に 1 つの列だけを含む一時テーブルを作成し、それをロードしてデータを取得する方法はありますか? 説明させてください...
私はこのようなsprocを持っています:
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 フィールド) を取得する必要があります。このクエリに追加すると、結果がすべて悪いので、一時テーブルを作成して必要なものを挿入できると思いました。その後、常にすぐに実行される別の sproc から、一時テーブルをクエリして削除します。
それは可能ですか?クエリしたばかりの sproc 内のテーブルを削除するにはどうすればよいですか? 私はこれを考えすぎていますか?
ありがとう、リショー