0

3 つの異なるクエリをマージするクエリを実行しています。

私のクエリは次のようになります...

HEADER ( a query  with only one line of information).    
BODY ( a query with many rows).    
FOOTER ( a query  with only one line of information)

私は 3 つのクエリを個別に持っていますが、それらを 1 つの結果にマージして txt ファイルに送信する必要があります。

理論的には、最初のクエリは結果の最初の行でなければならず、最後のクエリは足でなければならないため、これを行う方法がわかりません....

すべてが連続したテキストでなければなりません...問題は、結果にヘッダーとフッターを追加することです..

4

2 に答える 2

3

各行を単一の値として返さない限り、単一のクエリでこれを行うのは困難です。例えば:

;WITH header AS
(
  SELECT rn = 1, val = 'col1,col2,col3'
),
query AS
(
  SELECT rn = 2, val = CONVERT(VARCHAR(12), col1)
    + ',' + col2 + ',' + CONVERT(CHAR(10), col3, 112)
  FROM dbo.sometable
),
footer AS
(
  SELECT rn = 3, val = 'footer ----'
)
SELECT val FROM header
UNION ALL
SELECT val FROM query
UNION ALL 
SELECT val FROM footer
ORDER BY rn;
于 2012-06-20T20:15:18.110 に答える
-1

これは、抽出したデータセットにヘッダーとフッターを追加するのに本当に役立ちました。ヘッダー、フッター、および抽出されたデータセットで同じ数の列を保持するために、次のコードを使用して n 個の余分な列を追加します。一貫性があり、出力には影響しません。

于 2017-02-07T20:15:57.843 に答える