我正在运行 SQL Server 2008。我需要查询具有增量名称的表。这些表的结构完全相同,我需要从所有(~50)表中提取数据。表的命名约定如下:Break1、Break2、Break3等。我目前正在用下面的查询循环数据,但问题在于生成的报告在每组数据之间留下了间隙。所以,我必须投入 Excel,删除空格并将它们全部放在一个数据集中。有没有更好的方法来获取数据,使其没有空白?我的想法是创建一个临时表并将每个循环中的数据插入其中,但这有点超出我的想象。任何帮助将不胜感激。
查询示例:
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