Durchschnitt und Falle in SQL
Ich versuche einen Bericht zu erstellen und den folgenden code nicht produzieren die gewünschten Ergebnisse, die mir 2 Zeilen, statt einer.
Den ScoreTypeID könnte bei Werten von 22, 52, 3 oder 4 . wenn es 22 oder 52, ich brauche den Durchschnitt und wenn nicht muss ich von 0 angezeigt. Irgendeine Idee was das problem sein kann ? Danke.
CASE WHEN FAS1.ScoreTypeID = 22 THEN avg(fas1.totalscore)
WHEN FAS1.ScoreTypeID = 52 THEN avg(fas1.totalscore) ELSE 0
END AS 'Total Score',
- Können Sie Ihre vollständige Abfrage?
- ...und bitte sagen Sie uns, was Datenbank-system (und die version), die Sie verwenden. SQL ist nur die structured query language verwendet, die durch sehr viele Datenbank-Systeme. ...
- Ich bin mit SQL Server 2008
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, in Ihrem vollständige Abfrage, die Ihnen fehlt, die
GROUP BY
- Klausel, zBIch denke, das ist, was Sie wollen:
Dieser nimmt den Durchschnitt, wenn die Punktzahl ist 22 oder 52. Wenn es keine Werte vorhanden, wird NULL zurückgegeben. Die coalesce-stellt sich die NULL in eine 0.
Halten Sie es in das format, das Sie gewählt haben, die Sie nutzen könnten:
{ }
) auf der editor-Symbolleiste zu schön format und syntax-markieren Sie es!