Estas restando el valor por cada línea de B y luego es que sumas.
Deberías sumar todas las líneas de B y luego restar A
(Creo que a eso es que te refiere, perdona si comprendí mal
Prueba así:
Código SQL:
Ver originalSELECT A.CardCode,A.CardName,A.DocNum, SUM(B.Quantity * B.Price)-MAX(A.DiscSum) AS ValorNeto
FROM oinv A INNER JOIN inv1 B
ON A.docentry=B.DocEntry
AND A.docNum=30027
GROUP BY
A.CardCode
,A.CardName
,A.DocNum
También podrías generar la consulta de esta forma:
Código SQL:
Ver originalSELECT A.CardCode, A.CardName, A.DocNum, (SELECT SUM(B.Quantity * B.Price) AS tot FROM inv1 AS B WHERE A.docentry = B.DocEntry) - A.DiscSum AS ValorNeto
FROM oinv AS A
WHERE A.docNum = 30027