2011-12-21 1 views
1

I持っている2つのクエリ:複数の変数をSQL Serverに表示するには?

Select count(*) as countOne where field = '1' 
Select count(*) as countTwo where field = '2' 

私は私の結果ビューアでこれらのクエリを実行した後に見てみたい:

countOne | countTwo 
     23 |  123 

にはどうすればいいだけのクエリを実行して、両方のクエリからの結果を得ることができますか?

+0

これらはどちらも同じテーブルに対して選択されていますか? –

+0

@MartinSmith、yes – sooprise

答えて

4
SELECT COUNT(CASE WHEN field = '1' THEN 1 END) AS countOne, 
     COUNT(CASE WHEN field = '2' THEN 1 END) AS countTwo 
FROM YourTable 
WHERE field IN ('1', '2') 
+0

+1 suubクエリではなく、単一クエリで再利用するためです。 – Pankaj

0

最も単純な方法は、それぞれを副選択として実行することです。

SELECT 
(
Select count(*) where field = '1' as countOne, 
Select count(*) where field = '2' as countTwo 
) 

が、これはnecesarily最善の方法

ではない別のwaytoそれはフィールドでグループになり、その後、別の列として、各グループを選択するために、PIVOTを行うだろう行います。

+0

これはサブクエリと呼ばれていますか?それは非常に非効率的ですか?もしそうなら、もっと良い方法は何ですか? – sooprise

+0

これは、2つの個別選択と同じようにデータ集約的です。私は答えにPIVOTを指定しましたが、構文を検索する必要があります(私は頻繁にはしません) –

関連する問題