毎週新しいテーブルを作成するCOTSアプリケーションデータベースを用意しています。このテーブルは、特定の命名規則に従い、常に同じ列を含んでいます。私は、特定の時間範囲内のテーブルを選択するためのクエリを書かれている: SQLフィードクエリーの結果をUnionにまとめます。
DECLARE @today VARCHAR(8)
SET @today = CONVERT(VARCHAR(8),GETDATE(),112)
DECLARE @monthold VARCHAR(8)
SET @monthold = CONVERT(VARCHAR(8),dateadd(day,-31,@today),112)
SELECT name
FROM sys.tables
WHERE name <= 'Event_Audit'+ @today AND name >= 'Event_Audit'+ @monthold
AND name like 'Event_Audit%'
ORDER BY name DESC
は、今私は、データを集計するために選択されたテーブルの各クエリの呼び出しを持つ方法を探しています。これはSSRSレポートに使用されます。すべての付属のテーブルを通してTABLE1、テーブル2、など(5、それが4であるかどうか、またはそれ以上)が取り込まれます。このような
何か:
SELECT *
FROM table1
UNION ALL
SELECT *
FROM table2
UNION ALL
...
ORDER BY EVENT_DATE DESC
私はビュー、新しいテーブルを作成することはできません。既存のテーブルを変更することができます。
動的SQLを使用する必要がありますが、実際の問題は何ですか? sp_executesqlを使ってみましたか? –
私はT-SQLを使用しようとしていました。私は、動的SQLとsp_executesqlについてさらに読む予定です。 – CPickler
私が今まで見てきたすべての記事は、私ができない新しいテーブルまたは一時テーブルを作成することを参照しています。アカウントには、レポートデータを取得するためのSQL DBへの読み取りアクセス権しかありません。 – CPickler