In der folgenden Abfrage möchte ich alle Zeilen (Lieferantenrechnungen) ausschließen, wenn es eine andere Zeile mit der gleichen Job-ID und einer entgegengesetzten Rechnungssumme gibt. Wenn der Auftrag 1234 z. B. Kreditorenrechnungen in den Beträgen -10, 10 und 20 enthält, sollte nur der Wert 20 in den Abfrageergebnissen zurückgegeben werden. Wenn ein Job Rechnungen im Wert von -10, 10, 10 und 20 hat, sollten die Ergebnisse idealerweise die 20 Rechnung und die 10 Rechnung mit dem ältesten Rechnungsdatum zurückgeben.sql exclude offsetting rows
SELECT J.JobID,
VI.VendorInvoiceNo,
VI.invoicetotal,
VI.importedDate,
VI.CreationDate,
VI.InvoiceDate
FROM VendorInvoices AS VI
LEFT JOIN Jobs AS J ON J.JobID = VI.JobID
WHERE J.operCompleteDate >= (GETDATE()-90)
AND VI.invoicetotal IS NOT NULL
AND VI.invoicetotal <> 0
Sie verwenden nicht sowohl MySQL als auch Sql Server, also entfernte ich diese Tags. Bitte fügen Sie nur das Tag des RDMS zurück, das Sie verwenden. –
Die Verwendung von 'getdate()' führt mich zu der Annahme, dass Sie SQL Server verwenden. –