2016-05-20 19 views
0

Ich habe mehrere Tabellen und ich Vereinig sie alle und ganz am Ende, ich schwenken sie mit COUNT Function.Ich habe versucht, COUNT DISTINCT statt COUNT zu verwenden. Aber SQL gibt mir einen Fehler.Mehrere Aggregat Funktionen in SQL

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

Fehler Ich stelle:

Msg 156, Ebene 15, Status 1, Zeile 140 falsche Syntax nahe dem Schlüsselwort 'DISTINCT'.

Plus, ist es möglich, wenn ich beide haben möchte? Ich meine, gibt es eine Möglichkeit, mehrere Aggregatfunktionen im Pivot-Format in SQL zu haben?

+1

Sie können 'distinct' in der Unterabfrage verwenden. –

+0

Sie können dies in zwei verschiedene Fragen ändern. – Sturgus

Antwort

0

Does:

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 

Nicht für Sie trainieren?

Wenn mehrere Aggregatabfragen in einem Pivot ausgeführt werden, würde ich stattdessen zwei separate (aber ähnliche) Pivotabfragen ausführen und eine Verknüpfung zwischen ihnen durchführen.