2016-05-20 17 views
0

複数のテーブルがあり、それらをすべて結合し、最後にCOUNT関数を使用してピボットします。COUNTの代わりにCOUNT DISTINCTを使用しようとしています。しかし、SQLは私にエラーを与えます。SQL内の複数の集計関数

PIVOT( 
    COUNT (DISTINCT ALL_Union_Table.Value) FOR Label IN ([A],[B],C],[D],[E]) 
) As Final 

私が直面しているエラー:キーワードの近くに

メッセージ156、レベル15、状態1、行140 不適切な構文 'DISTINCT'。

さらに、私はそれらを両方とも持ちたいのですか?つまり、SQLのピボット形式で複数の集約関数を使用する方法はありますか?

+1

サブクエリで 'distinct'を使用できます。 –

+0

これを2つの異なる質問に変更することを検討してください。 – Sturgus

答えて

0

はい:

SELECT DISTINCT Label, [Value] 
FROM (
--foo1 
Union 
--foo2 
union 
--foo3 
) AS ALL_Union_Table 
PIVOT( 
    COUNT (ALL_Union_Table.Value) FOR Label IN ([A],[B],[C],[D],[E]) 
) As Final 

はあなたのために仕事しませんか?

ピボットで複数の集約クエリを実行する場合は、代わりに2つの別個の(しかし同様の)ピボットクエリを実行し、それらの間で結合を行います。