MySQL Forums
Forum List  »  German

Re: Vergleichen von Identischen Bestellungen
Posted by: Wolfgang Moriske
Date: August 29, 2018 01:51AM

Moin Michael

Ich habe jetzt folgende Tabellen angenommen:

KundenBestellungen mit Spalten "id" und "Bestellnummer"
KundenArtikel mit Spalten "id", "Artikelnummer", "BestellungsID"

Dann könnte die Abfrage funktionieren:

SELECT
doppelte.*,
kundenbestellungen.Bestellnummer
FROM

(SELECT
A.`artikelnummer`, A.`menge`, COUNT(*) AS InBestellungen
FROM KundenArtikel A
GROUP BY A.`artikelnummer`, A.`menge`
HAVING InBestellungen>1
) doppelte

LEFT JOIN KundenArtikel on KundenArtikel.artikelnummer = doppelte.artikelnummer and KundenArtikel.menge = doppelte.menge
LEFT JOIN KundenBestellungen on KundenBestellungen.id = KundenArtikel.bestellungsID

ORDER BY
KundenArtikel.artikelnummer, KundenBestellungen.Bestellnummer


Die innere Abfrage ermittelt alle doppelten Einträge für die Kombination Artikelnummer/Menge. Die äußere Abfrage referenziert dann die Daten zur Bestellung.

Gelistet werden nur Artikelnummern und Bestellungen, die doppelt vorhanden sind.

Alternativ kann man die Abfrage auch per Common Table Expression (CTE) aufbauen. Läuft aber erst seit Version 8.

Gruß
Wolfgang

Options: ReplyQuote


Subject
Views
Written By
Posted
Re: Vergleichen von Identischen Bestellungen
231
August 29, 2018 01:51AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.