2017-10-26 8 views
0

私が設定し、次のクエリを持っている:SQL Serverを使用して複数のクエリ結果をcsvにエクスポートする方法は?

SELECT COUNT(*) FROM SqlServer_tbl WHERE ZipFile = 'z1' 
SELECT COUNT(*) FROM SqlServer_tbl WHERE ZipFile = 'z2' 
SELECT COUNT(*) FROM SqlServer_tbl WHERE ZipFile = 'z3' 

最終スプレッドシートは、以下のようなものが見えるように、私は一度にこれらのクエリのすべての3つの結果をエクスポートするにはどうすればよい:

Zipfile Count 
-------------- 
z1  1200 
z2  1350 
z3  25500 

答えて

0

あなたは単一のクエリにすべての3つのクエリを組み込むことができる:

SELECT 
    SUM(CASE WHEN ZipFile = 'z1' THEN 1 ELSE 0 END) AS zip1_cnt, 
    SUM(CASE WHEN ZipFile = 'z2' THEN 1 ELSE 0 END) AS zip2_cnt, 
    SUM(CASE WHEN ZipFile = 'z3' THEN 1 ELSE 0 END) AS zip3_cnt 
FROM SqlServer_tbl; 

これは、別の列の3つのカウントのそれぞれを置きます。実際に正確な出力が必要な場合は、上記をピボットすることができます。これは一緒に労働組合になり、あなたの3件の問い合わせを行うための一つの方法:

SELECT 
    'z1' AS Zipfile, 
    (SELECT COUNT(*) FROM SqlServer_tbl WHERE ZipFile = 'z1') AS [Count] 
FROM SqlServer_tbl 
UNION ALL 
SELECT 'z2', (SELECT COUNT(*) FROM SqlServer_tbl WHERE ZipFile = 'z2') 
FROM SqlServer_tbl 
UNION ALL 
SELECT 'z3', (SELECT COUNT(*) FROM SqlServer_tbl WHERE ZipFile = 'z3') 
FROM SqlServer_tbl 
0

ソリューションは、次のとおりです。次に

SELECT COUNT(*) FROM SqlServer_tbl WHERE ZipFile = 'z1' 
Union 
SELECT COUNT(*) FROM SqlServer_tbl WHERE ZipFile = 'z2' 
Union 
SELECT COUNT(*) FROM SqlServer_tbl WHERE ZipFile = 'z3' 

CSVファイルにデータをエクスポートするためにBCPコマンドを使用します。 https://docs.microsoft.com/en-us/sql/tools/bcp-utility

+0

WHERE ZIPファイル= 'Z1' ユニオンSELECT COUNT(*)、SqlServer_tbl ZIPファイル= 'Z2' 結合からソート= 2ソート SELECT COUNT(*)= 3 ZIPファイル= 'Z3') SELECT * SqlServer_tblからテスト ORDER FROMソート – DBAMan

0

ZipFile列のGROUP BY句を使用して3つのクエリを1つにまとめることができます。

SELECT ZipFile, COUNT(*) AS [Count] 
FROM SqlServer_tbl 
WHERE ZipFile IN ('z1','z2','z3') 
GROUP BY ZipFile 
ORDER BY ZipFile 

これはあなたが要求した出力を正確に提供します。 (SELECT COUNT(*)、SqlServer_tbl FROMソート= 1 ASテスト

WITH
+0

BYこれは、質問への答えを提供していません。十分な[評判](https://stackoverflow.com/help/whats-reputation)があれば、[投稿にコメントする]ことができます(https://stackoverflow.com/help/privileges/comment)。代わりに、[質問者からの明確化を必要としない回答を提供する](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- i-do-代わりに)。 - [レビューの投稿](レビュー/低品質の投稿/ 17755280) – n2o

+0

このコードを読んでいただきありがとうございます。適切な説明(* meta.stackexchange.com/q/114762)は、*なぜ*これが問題の良い解決策であるかを示すことで長期的な価値を向上させ、将来の読者にとって他の同様の質問。あなたの前提を含め、あなたの答えを[編集]して説明を加えてください。 –

関連する問題