Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Entsprechende MySQL Abfrage für die Szenarien

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von jetwork, 3 November 2014.

  1. jetwork

    jetwork Fleissiger Benutzer

    Hallo Zusammen,

    Ich brauche nochmal eure Hilfe. :(
    Hier ist mein Problem:
    upload_2014-11-3_19-0-46.png

    Die Spalte Selbst_ref zeigt das Parent Szenario. Diese Tabelle kann man wie folgt Veranschaulichen:

    upload_2014-11-3_19-1-2.png

    In jedem neuem Szenario werden alle Daten von Parent Szenario übernommen und nur die Daten mit dem gleichen objekt_id überschrieben.

    tbl_daten
    upload_2014-11-3_19-1-33.png
    Sie sind die Szenarien denen ich mit Hilfe von Beide Tabellen tbl_daten und tbl_szenarien abfragen möchte:

    Basis Szenario mit der scenarien_id 1

    upload_2014-11-3_19-2-25.png

    Zweig1 mit der scenarien_id2. Nimmt alle Daten von Basis Szenario und aktualisiert nur die Daten mit gleichen Objekt id.


    upload_2014-11-3_19-2-53.png
    Zweig1a mit der scenarien_id 4.

    upload_2014-11-3_19-3-25.png

    Könntet ihr mir bitte eine Abfrage schreiben indem ich die Daten Szenario Zweig1a (Szenario id 4) abrufen kann. Ich schaffe es seit stunden leider nicht :(
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Was Du suchst sind rekursive Abfragen. Mittlerweile können das so ziemlich alle Datenbanken - außer MySQL. Google bitte via "mysql recursive query" nach Lösungen.
     
  3. Hony%

    Hony% Datenbank-Guru

    Wie @akretschmer schon schrieb lässt sich ein solches Szenario am einfachsten mit rekursiven Abfragen lösen. Für MySQL bleiben nur JOINS. Das Problem dabei ist, dass die maximale Tiefe vorher bekannt sein muss. Wenn es beliebig viele Generationen gibt wirst du an »Ping-Pong« kaum vorbei kommen da du die Rekursion dann in der Anwendung abbilden musst.

    Eine mögliche Alternative sind Nested Sets. Diese erfordern aber einen relativ hohen Aufwand wenn neue Elemente in den Baum eingefügt werden und eignen sich daher bei häufigen Änderungen nur bedingt.

    Gruß
    Hony
     
  4. ukulele

    ukulele Datenbank-Guru

    Gibt es denn eventuell eine maximale Tiefe die irgendwo bei möglichst unter 10 liegt? Dann wären Joins okay. Ansonsten wüste ich auch keinen Trick unter MySQL.
     
    jetwork gefällt das.
  5. jetwork

    jetwork Fleissiger Benutzer

    Danke für die Informationen. Ich werde eine Maximale Tiefe festlegen.


    Ich weiß schon dass diese Abfragen rekursive Abfragen sind. Ich habe sie gelesen bevor ich gepostet habe.
    Ich konnte aber genau für meine Tabellen leider selbst eine Abfrage nicht schreiben. Ich habe auch nicht viel Zeit übrig, deswegen wollte ich mal fragen ob ihr für mich eine Beispiel Abfrage schreiben könnt :(
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden