Announcement

Collapse
No announcement yet.

SELECT Befehl mit Abhängigkeiten vom Resultat

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

  • SELECT Befehl mit Abhängigkeiten vom Resultat

    Das hört sich jetzt total kompliziert an aber vielleicht könnt Ihr mir helfen.

    Ich habe eine Tabelle die aus folgenden Spalten besteht:

    id = INT
    parentid = INT
    wert = VARCHAR

    So, diese beinhaltet nun jede Menge Daten.
    Wichtig hierbei ist das es soganannte Zusammenfassungen gibt.
    Diese sind über die spalte parentid mit der id verknüpft.

    Also :

    Muschel hat die ID 18, parentid ist 0.
    Muschel1 hat die ID 19, parentid ist 18 weil sie zur Muschel gehört
    Muschel2 hat die ID 20, parentid ist 18 weil sie zur Muschel gehört

    Soweit hoffe ich is die Struktur klar.

    Nun das problem.

    Ich möchte einen SELECT machen über die die in der Spalte wert z.B. HALLO stehen haben. Zusätzlich müssen anhand von diesen aber auch die ausgegeben werden die als parentid die ID des Ergebnisses haben.

    Versteht Ihr das?
    Ich hab schon alles durchgespielt aber finde einfach keine Lösung.
    Ich muss das in einen SELECT bekommen.

    Ich freue mich auf eure Hilfe-

  • #2
    Hallo gastonx,

    so ganz verständlich beschrieben ist es nicht gerade, aber ich vermute zu ahnen, was Du möchtest.
    Das Stichwort dazu heißt "Self-Join" und könnte so aussehen:
    [highlight=SQL]SELECT *
    FROM Tabelle AS CHILD
    INNER JOIN Tabelle AS PARENT
    ON CHILD.ParentID = PARENT.ID
    WHERE CHILD.Wert = 'Hallo'[/highlight]


    Olaf
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Hallo,

      vielen Dank erst mal.
      Ich habs ausprobiert.
      Das Ergebnis ist das ich alle Kinder bekomme die den Wert Hallo haben, aber nicht den Elternteil der zwar nicht Hallo hat aber immerhin die Mutter des Kindes ist

      Comment


      • #4
        So nun hab ich was das funktioniert aber elendig lang ist.

        Code:
        SELECT * FROM transaktionen WHERE 
        (id IN (SELECT parentid FROM transaktionen WHERE (CreatedDate BETWEEN 'DATENOW() 00:00:00' AND 'DATENOW() 23:59:59'))) 
        OR 
        (parentid IN (SELECT parentid FROM transaktionen WHERE (CreatedDate BETWEEN 'DATENOW() 00:00:00' AND 'DATENOW() 23:59:59')))
        Das würde funktionieren. Sieht aber komisch aus wie ich finde.

        Comment

        Working...
        X