2017-07-03 3 views
0

Dies ist meine spezifische SQL-Abfrage (MS SQL)Zusammenfassung konkrete SQL-Abfrage mit WHERE-Klausel

SELECT SUM(Sum2) AS Sum 
FROM (SELECT ROUND(bidsum,2) AS Sum2 
     FROM TableDocuments 
     WHERE MANeu = 'AS400' 
     and Art = '3' 
     and DokumentTyp = '3' 
     and offernumber = 'AB.1234.56' 
     ) src 

In meiner Anwendung betreibe ich diese Abfrage das Auftragsvolumen (Summe) zu berechnen, schreiben sie in der Spalte volumeoforders und zeige es in der gui. Aber da habe ich eine konkrete Angebotsnummer.

Jetzt brauche ich ein SQL-Skript, Ansicht oder Programm, das dies für alle Angebotsnummern nicht nur für 'AB.1234.56' tut.

Was ist ein guter Weg, dies zu tun?

+2

Bearbeiten Sie Ihre Frage und Beispieldaten und die gewünschten Ergebnisse zu liefern. –

+0

Ich denke, die Verwendung von Parametern in der Abfrage ist ein Weg für Sie. Angenommen, Sie verwenden .NET, ist dies die Lösung für gespeicherte Prozeduren, aber Sie verwenden sie auf die gleiche Weise mit Abfragen: https://stackoverflow.com/questions/43953617/c-sharp-how-to-use-parameters-for- sql-server-stored-procedure –

Antwort

2

GROUP BY Verwenden Sie erhalten diese Informationen für jeden offernumber, wie unten:

SELECT src.offernumber, SUM(src.Sum2) AS Sum 
FROM (
     SELECT offernumber, ROUND(bidsum,2) AS Sum2 
     FROM TableDocuments 
     WHERE MANeu = 'AS400' and Art = '3' and DokumentTyp = '3' 
    ) src 
GROUP BY src.offernumber 
+0

einfach und angemessen – user1673665