@Birgitta
Da bin ich anderer Meinung (Syntaxfehler außer Frage).
Aus Performancegründen und der Anforderung heraus garantiert deine Methode keine Konstanz in der Spaltenfolge.
Du kannst also nicht garantieren, ob P1Count = 3 auch immer dem Schlüssel 102 entspricht.
Da die Spaltennamen aber nur konstant zugewiesen werden können, macht es eher Sinn den konstanten Wert zu zählen und in der Spalte X dann NULL auszuweisen.
Außerdem vereinfacht es den SQL.

Sum(Case When P1Count = 1 Then 1 Else 0 End) "Anzahl 100",
Sum(Case When P1Count = 2 Then 1 Else 0 End) "Anzahl 101",
Sum(Case When P1Count = 3 Then 1 Else 0 End) "Anzahl 102",
Sum(Case When P1Count = 4 Then 1 Else 0 End) "Anzahl 103",

vs:

count(case p1 when 101 then 1 end) "Anzahl 101"

Aber wie immer, es gibt viele Wege zur Lösung.