Ich habe Probleme, Preis Spalte zwischen zwei Daten in SQL Server zu summieren.SQL-Summenspalte zwischen zwei Daten
Ich habe Abfrage wie folgt:
SELECT
OSLP.SlpName as Salesman,
CAST(OINV.DocTotal as float) as Achiev,
OINV.TaxDate
FROM
OINV
INNER JOIN
INV1 ON INV1.DocEntry = OINV.DocEntry
INNER JOIN
OSLP ON OINV.SlpCode = OSLP.SlpCode
INNER JOIN
OITM ON INV1.ItemCode = OITM.ItemCode
INNER JOIN
OMRC ON OITM.FirmCode = OMRC.FirmCode
INNER JOIN
OCRD ON OINV.CardCode = OCRD.CardCode
WHERE
OSLP.SlpName LIKE '01-2 Ika'
AND OINV.TaxDate BETWEEN '20160804' AND '20160806'
GROUP BY
OSLP.SlpName, OINV.DocTotal, OINV.TaxDate
Das Ergebnis der Abfrage oben ist wie folgt:
Ich habe auch SUM auf „CAST (OINV.DocTotal als Schwimmer hinzugefügt) als Achiev "wie folgt:
CAST(sum(OINV.DocTotal) as float) as Achiev
Aber es gibt falsches Ergebnis zurück:
Das richtige Ergebnis der Erfo Spalte auf die Termine sollten 4906230
Vielen Dank für die Hilfe sein!
UPDATE (Gelöst) Ich habe das Problem gelöst. Es wird nur zur SUM-Abfrage hinzugefügt, da in meiner Abfrage ein Duplikat von Daten vorhanden ist.
Abfrage:
SELECT
OSLP.SlpName as Salesman,
sum(CAST(INV1.Quantity as float)) as Qty,
sum(DISTINCT CAST(OINV.DocTotal as float)) as Achiev
FROM
OINV
INNER JOIN
INV1 ON INV1.DocEntry = OINV.DocEntry
INNER JOIN
OSLP ON OINV.SlpCode = OSLP.SlpCode
INNER JOIN
OITM ON INV1.ItemCode = OITM.ItemCode
INNER JOIN
OMRC ON OITM.FirmCode = OMRC.FirmCode
INNER JOIN
OCRD ON OINV.CardCode = OCRD.CardCode
WHERE
OSLP.SlpName LIKE '01-2 Ika'
AND OINV.TaxDate BETWEEN '20160804' AND '20160806'
GROUP BY
OSLP.SlpName
Vielen Dank an alle, die mir geholfen hat!
Ich habe Abfrage oben versucht, aber seine Anzeige inkorrekte Abfrage Ergebnis. Der Screenshot ist in meiner Frage oben, in der Zeile "falsches Ergebnis" –
kannst du bitte genaues Problem nennen ... –
Sory für sehr sehr langsame Antwort. Das Problem ist jetzt gelöst. Ich habe gerade "DISTINCT" zu "sum (CAST (OINV.DocTotal as float)) hinzugefügt, wie Achiev" like this "Summe (DISTINCT CAST (OINV.DocTotal as float)) wie Achiev". –