Ich habe einige Probleme mit der Abfrage unten. Ich versuche festzustellen, ob das Feld "Kategorie" A, B oder C ist und dann ein Feld basierend auf der Kategorie erstellt. Dieses Feld würde das Zahlungsfeld zusammenfassen. Aber ich renne in Fehler "falsche Syntax in der Nähe von Schlüsselwort As". Ich erstelle dies in einer SQL-Ansicht. Verwenden von SQL Server 2008Versuchen, Felder basierend auf einer case-Anweisung zu erstellen
SELECT r.id, r.category
CASE
WHEN r.category = 'A' then SUM(r.payment) As A_payments
WHEN r.category = 'B' then SUM(r.payment) As B_payments
WHEN r.category = 'C' then SUM(r.payment) As C_payments
END
FROM r_invoiceTable As r
GROUP BY r.id, r.category
Ich habe Daten, bei denen alle oben genannten Fälle ausgeführt werden sollte, weil die Daten, die ich habe A, B und C
Probe Data- r_invoiceTable
Id --- Category ---- Payment
222 A ---- 50
444 A ---- 30
111 B ---- 90
777 C ---- 20
555 C ---- 40
hat Gewünschter Ausgang A_Zahlungen = 80, B_Zahlungen = 90, C_Zahlungen = 60
Ja, aber ich möchte 3 separate Felder haben ... Ich kann nicht nur ein Feld haben. Ich brauche 3 separate Felder, die mit der Summe der Zahlung basierend auf der Kategorie erstellt werden. – dido
für jede Kategorie, die Sie gerade berechnen '' SUM'; Was ist der Sinn von 'CASE'? – mshsayem
@mshsayem gut jede Kategorie würde eine andere Summe haben. Deshalb muss ich es nach Kategorien trennen – dido