Ergebnis 1 bis 6 von 6

Thema: Stammbaum SQL Abfrage

  1. #1
    Youngster
    Registriert seit
    22.11.2016
    Beiträge
    19
    Danke
    14
    Bekam 0 mal "Danke" in 0 Postings

    Frage Stammbaum SQL Abfrage

    Hallo an alle Mitglieder
    ich hätte eine Frage und vielleicht hat jemand einen Vorschlag oder eine Idee, wie man dies umsetzen könnte.

    Es geht um Ahnenforschung und genauer gesagt um eine Stammbaumsuche.

    Ich weiß, dass es sehr knifflig und kompliziert ist, darauf hat uns die Professorin aufmerksam gemacht, ich will es dennoch so versuchen.

    Wir haben Personen, die mit diversen Informationen gespeichert sind. Wichtig ist hier die ID aus der Tabelle person.
    Diese ist verknüpft mit einer zweiten Tabelle verwandschaft, diese beinhaltet ID, ID_Vater und ID_Mutter.

    Jetzt ist die Frage, wie verknüpft man die Informationen so, dass z.B. Person A, die man einträgt (Vorname, Nachname, Geb. Datum und Geschlecht), mit weiteren Personen verknüpft wird BIS man alle Verwandte aufgelistet hat.

    Wir starten unten und müssen die ID der Person mit den ID's der anderen Personen und deren Eltern verknüpfen und das immer und immer wieder. So, dass ein Baum entsteht, dieser von unten nach oben angezeigt werden soll:

    etc.

    Großmutter von P-A Großvater von P-A
    Mutter von P-A Vater von P-A
    Person A

    Ist dies ein zu großer und komplizierter Aufwand, der kaum geschaffen werden kann oder ist dies eine Idee, die umsetzbar wäre?
    Eine Idee? Meinung?

    Nette Grüße
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Youngster
    Themenstarter

    Registriert seit
    22.11.2016
    Beiträge
    19
    Danke
    14
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Stammbaum SQL Abfrage

    Ein paar Abfragen:
    SELECT v1.ID, v2.ID, v2.ID_Vater, v2.ID_Mutter
    FROM verwandtschaft AS v1
    INNER JOIN verwandtschaft AS v2
    ON v1.ID = v2.ID_Mutter
    Hier kommt leider kein Ergebnis, aber auch keine Fehlermeldung. Dies ist die Verknüpfung

    Fehler

    SQL-Befehl:

    SELECT v1.ID, v2.ID, v2.ID_Vater, v2.ID_Mutter
    FROM verwandtschaft AS v1
    INNER JOIN verwandtschaft AS v2
    ON v1.ID = v2.ID_Mutter
    IN (SELECT Vorname, Nachname
    FROM person
    JOIN verwandtschaft
    ON verwandtschaft.ID=person.ID
    WHERE verwandtschaft.ID_Mutter
    OR verwandtschaft.ID_Vater) LIMIT 0, 25
    MySQL meldet:
    #1241 - Operand should contain 1 column(s)

    Ich habe überlegt, wenn ich ein Ergebnis bekommen würde, diesen in einem Array zu speichern und damit weiter arbeiten.

    Im Internet findet man auch diverse Fragen zum "Stammbaum", dieser ist aber anders strukturiert.
    Wir haben die Mutter_ID und Vater_ID und ID(der Person), die in zwei Tabellen steht damit man diese verknüpfen kann.
    Tabelle person:

    ID Geschlecht Titel Vorname Nachname Geburtsdatum Geburtsname Geburtsort Beruf Sterbedatum Sterbeort Notizen
    Bearbeiten Kopieren Löschen 1 w NULL Olivia Walter 27.06.1996 NULL Stadt Student NULL NULL NULL
    Bearbeiten Kopieren Löschen 3 m NULL Fabian Walter 31.07.1993 NULL Stadt NULL NULL NULL NULL
    Bearbeiten Kopieren Löschen 4 w NULL Julia Walter 18.03.1966 Sassenfeld Stadt Technische Zeichnerin, Tagesmutter NULL NULL NUL



    Tabelle verwandtschaft:



    Hier ist der Vater unbekannt...

  3. #3
    Moderator Avatar von Arne Drews
    Registriert seit
    20.01.2016
    Ort
    Friedrichstadt, NF
    Beiträge
    1.073
    Danke
    21
    Bekam 110 mal "Danke" in 109 Postings

    Standard AW: Stammbaum SQL Abfrage

    Hallo,

    Deine Query ist fehlerhaft, ein ON ... P1 = P2 IN ( ... ) gibt es nicht bzw. macht keinen Sinn, weil zunächst die Klammer ausgewertet wird, das Ergebnis auf P2 IN angewendet wird, was am Ende einen boolschen Wert ergibt, welcher auf P1 geprüft wird. An der Stelle kommt übrigens auch der SQL-Fehler, weil die Subquery mehr als ein Feld pro Datensatz liefert.

    Grundsätzlich ist Dein Vorhaben bis zu den Eltern relativ leicht umsetzbar, aber spätestens bei den Großeltern kommst Du in die Rekursion ( auf die Schnelle gefunden: http://www.infosys.tuwien.ac.at/teac...e_Anfragen.pdf )

  4. Folgende User finden die Antwort von Arne Drews gut:


  5. #4
    Youngster
    Themenstarter

    Registriert seit
    22.11.2016
    Beiträge
    19
    Danke
    14
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Stammbaum SQL Abfrage

    Wäre in dem Fall sinnvoller, erst das Ergebnis der Eltern der Person in einem Array zu speichern, so dass man dann diese je Generation sortiert hat.
    Diese Arrays kann man dann unabhängig von der Generation der ersten Person mit den Arrays der zweiten Person vergleichen, etc.

    Oder lieber genauso verbinden wie der Robert Schneeberger in seinem Skript?

  6. #5
    Moderator Avatar von Arne Drews
    Registriert seit
    20.01.2016
    Ort
    Friedrichstadt, NF
    Beiträge
    1.073
    Danke
    21
    Bekam 110 mal "Danke" in 109 Postings

    Standard AW: Stammbaum SQL Abfrage

    Also meiner Meinung nach solltest Du das wirklich über Rekursion lösen.
    Was Du alternativ vorhast ist am Ende eine PHP-Logik, die permanent und vermutlich innerhalb von Schleifen SQL-Anfragen stellt. Das ist absolut suboptimal.

    Wie gesagt, ich würde mir das Thema Rekursion mit MySQL näher ansehen.
    Das ist jetzt auch nicht zwingend meine Stärke, aber wer weiß schon alles...

  7. Folgende User finden die Antwort von Arne Drews gut:


  8. #6
    Youngster
    Themenstarter

    Registriert seit
    22.11.2016
    Beiträge
    19
    Danke
    14
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Stammbaum SQL Abfrage

    Mache ich auf jeden Fall, vielen Dank für den Vorschlag

Ähnliche Themen

  1. [suche] (Stammbaum)Datenbank
    Von TanjaP. im Forum Job Forum - Jobs für Grafiker, Programmierer und Webmaster
    Antworten: 4
    Letzter Beitrag: 25.09.2012, 18:39
  2. sql abfrage
    Von Unregistriert im Forum Datenbank Forum - MySQL und andere Datenbanksoftware
    Antworten: 2
    Letzter Beitrag: 03.05.2012, 06:52
  3. db abfrage
    Von creepi im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 27.10.2008, 23:11
  4. if abfrage
    Von im Forum HTML & CSS Forum
    Antworten: 12
    Letzter Beitrag: 28.10.2006, 23:47
  5. SQL Abfrage 'LIKE'
    Von Mir nicht im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 17.03.2006, 12:37

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •