2016-08-24 3 views
0

Ich möchte über einfache Summe Abfrage fragen. In dieser Frage habe ich ein Bild angehängt, damit Sie meinen Tisch sehen können. Nun, ich mag die Januari des Ziel + Februari des Ziel berechnen = Februari des Target_YtD , was ich habe, so weit ist so etwas wie thiseinfache SUM Abfrage für C#

SELECT SUM(Target) as 'Target_YtD' from revenue where Bulan = 
"Januari" or Bulan = "Februari" 

Aber die Abfrage oben nur das endgültige Ergebnis der Berechnung erzeugen, und was ich will ist, ich möchte das Ergebnis in die "revenue" -Tabelle setzen (was genau für Februaris Target_YtD-Spalte ist). Ich schätze wirklich für diejenigen, die mir helfen können, herauszufinden. Danke

+0

Warum haben Sie es mit C# markiert? Ich sehe nicht, was diese Frage mit dieser Sprache zu tun hat. – Vijay

+0

ok sorry dafür. aber wenn du eine Frage hast, um meine Frage zu lösen, lass es mich wissen. @ Vijay –

Antwort

0

Ich nehme an, dass die Einnahmen Tabelle eine Spalte namens ‚Target_YtD‘ enthält und Sie dieses Feld für Januari und Februari Ziel mit Summenfunktion aktualisieren Werte

Verwenden etwas wie das

update revenue 
set Target_YtD=(select SUM(target) from revenue where Bulan in ('Januari', 'Februari')) 
where Bulan='Februari' 
+0

schätzen diesen Mann, aber Ihre Abfrage oben kann nicht auf meinem SQL arbeiten. kannst du bitte ein bisschen klar machen? –

0

Während Carlos 'Antwort ist vollständig logisch und korrekt, wird es nicht funktionieren. Weitere Informationen here.

Ein Zitat aus der Antwort auf dem Link:

Das heißt, wenn Sie eine UPDATE/INSERT/DELETE auf einem Tisch tun, du nicht, dass die Tabelle in einer inneren Abfrage Referenz (Sie können jedoch Referenz ein Feld von dieser äußeren Tabelle ...)

Dies ist die aktualisierte Lösung, basierend auf Carlos Antwort:

update revenue 
set Target_YtD=(select SUM(target) from (select * from revenue) as r where r.Bulan in ('Januari', 'Februari')) 
where Bulan='Februari'