Kniffelige MySQL Abfrage, brauche Hilfe

  • Hallo Zusammen,

    muss eine Datenbank basteln. Ich habe es hier auf einen Bild zusammengefasst.

    Das schwierige ist das die 3 Datenbanken nur durch die 4 te Nummern zusammengehalten werden. Ich habe raus gefunden wie ich aus zwei Datenbanken Nummern vergleiche und aus den beiden verschiedene Sachen anzeigen lassen kann.

    Aber wie kann ich die Nummern Datenbank als Basis nehmen um in den anderen drei verschiedene Sachen anzeigen zu lassen?

    Ich bekomme fast jeden zweiten Arbeitstag die Bestandstabelle und möchte auch z.B. nach den letzten Beständen suchen. Oder mir einfach nur alle Schwarzen Autos anzeigen lassen.

    Siehe Bild.

    Ich bitte Euch um Hilfe. So tief stecke ich in MySql doch nicht drin. Es muss ja locker machbar sein.

    Nachtrag 1:
    Ich habe so ne ähnliche Abfrage gemacht. Da es interne Firmendaten sind, kann ich ja leider nicht meine Daten anzeigen aber so bin ich vorgegangen

    SELECT `rueckstand`.`COL 1`, `rueckstand`.`COL 2`, `rueckstand`.`COL 3`,`preisdlhnp`.`COL 4`,`preisdlhnp`.`COL 5`,`bestand`.`Fulda`,`bestand`.`Gruppe`
    FROM `rueckstand`, `preisdlhnp`, `bestand`
    WHERE (`rueckstand`.`COL 4` = `preisdlhnp`.`COL 7` = `bestand`.`SAP`)
    ORDER BY `rueckstand`.`COL 1` ASC

    Die Meldung kam:
    #126 - Incorrect key file for table '/var/tmp/#sql_311_0.MYI'; try to repair it

    Da jede DB an die 500 Zeilen hat ist die Abfrage wohl zu groß.

    Einmal editiert, zuletzt von cbs (22. Februar 2015 um 15:46)

  • 500 Zeilen pro Datenbanktabelle? Das sind minimale Mengen, das führt sicher nicht zu einem Problem.

    Bitte präzisiere, was für eine Abfrage du genau brauchst.

    Deine Tabellen sind recht lose gekoppelt. Aber du scheinst zumindest durch die Spalten "Info", "EAN, "SAP NR" eine Verknüpfung erreichen zu können. Mit entsprechenden JOINs sollten also deine Abfragen kein Problem sein.


    Alle schwarzen Autos:


    SELECT t1.datum, t1.Info, t1.Stückzahl
    FROM Tabelle1 as t1, Tabelle2 as t2, Tabelle4 as t4
    WHERE t1.SAP_NR = t2.SAP_NR AND t2.M_NUMMER = t4.M_NUMMER AND t4.Farbe = 'Schwarz'
    ORDER BY t1.datum ASC

    Ich nutze t2 um die Verbindung zwischen t1 und t4 herzustellen über die SAP_NR -> M_NUMMER.


    Hilft das schonmal? Ich stocher ein wenig im Dunkeln...

    Sometimes you have a programming problem and it seems like the best solution is to use regular expressions; now you have two problems.