Announcement

Collapse
No announcement yet.

Query auf selbst referenzierte Tabelle und Sortiert

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Query auf selbst referenzierte Tabelle und Sortiert

    Hallo zusammen,
    ich verbiege mir gerade meine Gehirnwindungen bei folgendem Problem. Folgende Tabelle habe ich mir ausgedacht um Kunsttechniken zu Gruppieren.

    PK | type | subpart | ….

    Mit folgendem Inhalt:

    1 Zeichnung NULL
    2 Objekte NULL
    3 Graphik NULL
    4 Bleistift 1
    5 Holz 2
    6 Glas 2
    7 Kreide 1
    8 Birke 5
    9 Computergen. 3
    10 Eiche 5
    ….

    Die Spalte Subpart Referenziert den PK der Technik die die Übergeordnete Technik darstellt.
    z.B. Bleistift und Kreide sind Untergruppen von Zeichnung. Birke und Eiche ist eine Untergruppe von Holz. Holz wiederum ist eine Untergruppe von Objekt ist.

    Nun mein Problem, ich will das als eine „sortierten und Gruppierte Liste“ ausgeben. Also etwa in der Form: Zeichnung mit allen Untergruppen (Bleistift, Kreide), Objekt (Holz(Birke,Eiche), Glas), Graphik(Computergeneriert)

    Meine Idee war zu schauen ob es Subpart-Einträge für die Entsprechende PK gibt und ob es dann für die neue PK wieder Subart-Einträge existieren. Aber da Durchlaufe ich die Tabelle ja für Einen Eintrag mehrere male.

    Hat jemand eine bessere Idee wie man die Liste generiert? Die Tabelle wäre auch erweiterbar wenn das Helfen könnte. Stehe da aber momentan total auf dem Schlauch.

  • #2
    eine dynamisch Anzahl an Spalten im Ergebnis ist in SQL nicht möglich. Deswegen solltest Du Dir vielleicht einen anderen Weg ausdenken die Daten auszulesen (evtl. einfach die ganze Tabelle auslesen) und diese in Deinem Programm zusammen zimmern.
    In Oracle gäbe es auch ein connect by statement, aber das scheint in mySQL nicht zu existieren.

    Comment


    • #3
      Hi fanderlf, danke für deine Antwort. connect by statement ist bei MySQL ein SELF-JOIN wie ich gerade gelesen habe. Mal schauen ob ich was damit Zaubern kann. Ansonsten lass ich mein Programm das zusammen Zimmern.

      Comment


      • #4
        2ere Lösung wäre imho die deutlich bessere. Solche Sachen kann ein DB und auch SQL nicht wirklich gut. Wenns nicht allzu viele Elemente sind, würde ichs auf jeden Fall so machen und nicht die Zeit mit SQL verbraten.

        Comment

        Working...
        X