Ich entwickle eine kleine gespeicherte Prozedur auf SQL Server 2008. Ich habe wenig Kenntnisse über SQL-Abfragen, aber genug, um einfache Aufgaben zu erreichen. Aber ich habe ein Problem, das ich selbst nicht lösen kann. Bevor ich anfange, mein Problem zu erklären, entschuldige mich bitte, wenn ich ein SQL-Abfragewort falsch schreibe, weil ich kein englischer Muttersprachler bin.Wie summiere ich ein Feld in Abhängigkeit von einem anderen Feldwert?
Ich habe 4 Felder (CSV-Darstellung):
ID, NAME, VALUES, ANSWER
25, Tom , 2400 , 0
25, Tom , 600 , 0
25, Tom , 500 , 1
25, Tom , 300 , 1
27, Jerry, 100, 0
27, Jerry, 20, 1
27, Jerry, 60, 1
27, Jerry, 2000, 0
Was ich tun möchte, ist Gruppe durch die Auswahl durch seine ID
und NAME
, SUM es die Werte in einem Feld mit dem Namen positive when ANSWER = 1
und negative when ANSWER = 0
auf.
ID, NAME, SUM, NEGATIVE, POSITIVE
25, Tom, 3000, 800
27, Jerry, 2100, 80
Ich denke, meine Frage mehrmals gefragt worden, aber ich war nicht in der Lage, etwas dagegen zu finden, wahrscheinlich, weil ich die falschen Begriffe verwenden. Jedenfalls, wenn jemand helfen könnte, würde mir das viel Zeit sparen.
http://stackoverflow.com/questions/30563/sql-returning-the-sum-of-items-depending-on-which-type-it-ist – JNK
+1, nur weil das ist eigentlich ein ziemlich gut gestellte Frage. (Auch dank dem Editor.) Es hat einfache, anschauliche Eingabedaten und zeigt tatsächlich die gewünschte Ergebnismenge an. – Matt
Ich stimme Matt zu, das ist eine gut illustrierte Frage und das Ziel ist klar wie Wasser. Dies hilft viel für nicht-englische Muttersprachler. =) –