我正在運行SQL Server 2008.我需要查詢具有增量名稱的表。這些表的結構完全相同,我需要從所有這些表(〜50)中提取數據。這些表的命名約定如下:Break1,Break2,Break3等。我目前正在使用下面的查詢來循環數據,但問題在於生成的報告在每組數據之間留下空隙。所以,我必須投入Excel,刪除空格並將它們放在一起放入一個數據集。有沒有更好的方法來抓取數據以避免出現間隙?我的想法是創建一個臨時表並將來自每個循環的數據插入到臨時表中,但這有點凌駕於我的頭上。任何幫助將不勝感激。SS2008選擇具有循環增量名稱的表
查詢示例:結果
DECLARE @zone integer
DECLARE ZoneCursor CURSOR FOR
SELECT ZoneID
FROM Zone
ORDER BY ZoneID
OPEN ZoneCursor
FETCH NEXT FROM ZoneCursor into @zone
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC(' SELECT
CONVERT(smallint, '''+ @zone+''') as ZoneID')
...
FROM BREAK'+ @ZONE +' B (NOLOCK)
FETCH NEXT FROM ZoneCursor into @zone
END
CLOSE ZoneCursor
例子:
ZoneID Zone NetworkID Network Break_Date Break_Time
------ ------- --------- ------- -------------- --------------------------------
(0 row(s) affected)
ZoneID Zone NetworkID Network Break_Date Break_Time
------ ------ --------- ------- -------------- --------------------------------
2 ALPHARETTA-2538 1 CNN 4/1/2013 0:15:00
2 ALPHARETTA-2538 1 CNN 4/1/2013 0:15:00
ZoneID Zone NetworkID Network Break_Date Break_Time
------ ------- --------- ------- -------------- --------------------------------
3 NEWTON-5491 1 CNN 4/1/2013 0:15:00
3 NEWTON-5491 1 CNN 4/1/2013 0:15:00
你看過UNION聲明嗎?您可以使用它將每個查詢連接到一個大型查詢中。 – cbeckner