SQL Server 2008 を実行しています。増分名を持つテーブルをクエリする必要があります。これらのテーブルの構造はまったく同じで、すべて (~50) のテーブルからデータを取得する必要があります。テーブルの命名規則は、Break1、Break2、Break3 などです。現在、以下のクエリでデータをループしていますが、生成されたレポートが各データ セット間にギャップを残すという問題があります。そのため、Excel に投入し、スペースを削除して、それらをすべて 1 つのデータ セットにまとめる必要があります。ギャップがないようにデータを取得するより良い方法はありますか? 私の考えでは、一時テーブルを作成し、各ループからのデータをそこに挿入することでしたが、それは私の頭を少し超えています。どんな助けでも大歓迎です。
クエリの例:
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