MySQL Forums
Forum List  »  German

Datenbankabfrage Anzahl vorhandener Ersatzteile: Abfrage gesucht...
Posted by: Peter Vincent
Date: June 26, 2016 05:51AM

Hallo in die Runde,

ich bin neu hier und habe mich angemeldet, da ich gerade dabei bin, ein Problem zu lösen - aber ich stehe auf dem Schlauch.

Die Datenbank ist recht einfach:

Tabelle: Media (unterschiedliche Medien)
Tabelle: Inventory (Bestandsaufnahmen (Einkäufe) zu den Medien, zeitlich unterschiedlich mit Rechnungen etc.)
Tabelle; SpareParts (Ersatzteile, die wiederrum Medien sein können)

Die Ersatzteile machen mir dann Probleme, wenn mehrere Medien gleiche Ersatzteile haben.

Die Tabelle SpareParts sieht dann wie folgt aus:

mediaID sparepartID
10 9
11 9

Wobei sparpartID auf die Tabelle Media zeigt (und eigentlich mediaID) ist.

Wenn ich nun die Bestände zusammenzählen möchte, komme ich mit meinem INNER JOIN nicht weiter, da die sparepartID ja zweimal auftaucht und somit die Bestände doppelt gezählt werden:

SELECT
spareparts.sparepartid,
spareparts.sparepart_number,
spareparts.sparepart_type
media.medianame,
SUM(inventory.inventory_amount) AS inventory
FROM `spareparts`
INNER JOIN inventory ON (spareparts.sparepartID=inventory.mediaID )
INNER JOIN media ON (spareparts.sparepartID=media.mediaID)
GROUP BY mediasparepart.sparepartID ORDER BY inventory ASC

Ein DISTINCT würde nicht helfen.

Das Problem ist aus meiner Sicht am "doppelte" Eintrag in spareparts.

Gibt es eine Möglichkeit einen JOIN nur einmal pro Schlüssel auszuführen?

Hoffe ich habe mich verständlich ausgedrückt.

Danke für Hilfe

Gruß
Peter

Options: ReplyQuote


Subject
Views
Written By
Posted
Datenbankabfrage Anzahl vorhandener Ersatzteile: Abfrage gesucht...
1111
June 26, 2016 05: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.