SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQL

MySQL Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQL diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 05.12.2009, 17:35:46
Ameliore Ameliore ist offline
Anfänger
 
Registriert seit: Mar 2009
Beiträge: 3
Ameliore befindet sich auf einem aufstrebenden Ast
Einfacher Stammbaum > Abfrageproblem

Hallo

Ganz blutige Anfängerin bin ich ja nicht (mehr), aber ich habe wohl ein kleines Problem in meinen Überlegungen, bei welchem mir die Lösung bisher nicht gelungen ist.

Es geht um Stammbäume.
Eigentlich fand ich den DB Aufbau relativ simpel:

1. Tabelle enthält die Informationen zu den einzelnen Individuen, Primärschlüssel ist für jedes derselbigen selbstverständlich einzigartig.

tabelle chiens
chien_id, chien_name, chien_balbla.. undsoweiter


2. Tabelle enthält die Felder Kind, Mutter, Vater, wobei ledliglich die Referenzschlüssel aus der ersten Tabelle eingetragen werden.

tabelle parents
id, kind, mutter, vater

Nun möchte ich eine Abfrage auf die zweite Tabelle haben (Referenz ist in der Regel die Kind-ID, da es ja darum geht, dessen Eltern zu finden), dabei einen JOIN auf die 1. Tabelle machen. Geht es nur darum, das "Kind" in der 1. Tabelle zu suchen, ist es einfach.

SELECT * FROM parents WHERE kind_id = $id LEFT JOIN chiens ON chiens_id = kind_id;

So. Nun will ich aber, dass gleichzeitig das Gleiche für die Eltern passiert. Da die Eltern aber ein Resultat der gesamten Suchabfrage darstellen, wird es schwierig.
Generell möchte ich wissen, ob es überhaupt möglich ist, in einer einzigen Abfrage Abfrageergebnisse zu verwenden, die weitere Abfragen erlauben.

Ich habe bereits versucht, SELECT-Befehle zu verschachteln. Aber diese müssen auch eindeutige Referenzwerte haben (so scheint mir), die nicht auf Resultate der ersten Abfrage zurückgehen.

Vielleicht kann mir ja jemand auf die Sprünge helfen, mir sagen, warum ich den Wald vor lauter Bäumen nicht sehen kann.

Vielen Dank :) Ameliore
Mit Zitat antworten
  #2  
Alt 05.12.2009, 18:35:40
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Beiträge: 2.269
DokuLeseHemmung befindet sich auf einem aufstrebenden Ast
AW: Einfacher Stammbaum > Abfrageproblem

Zitat:
Eigentlich fand ich den DB Aufbau relativ simpel:
Ja?



Wie wäre es mit:

Tabelle Personen:
id | name | gebutsdatum | gebutsort | geschlecht


Tabelle Eltern:
Person_id | Eltern_id



Und nein, mit einer Abfrage wirst du kaum auskommen. Denn Bäume wollen rekursiv durchlaufen werden.
Mit Zitat antworten
  #3  
Alt 07.12.2009, 11:12:46
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
Ckaos befindet sich auf einem aufstrebenden Ast
AW: Einfacher Stammbaum > Abfrageproblem

Hallo,

Zitat:
Zitat von Ameliore Beitrag anzeigen
SELECT * FROM parents WHERE kind_id = $id LEFT JOIN chiens ON chiens_id = kind_id;
Du meintest sicher das where nach dem join.

Eigentlich ist es mit dem vorpost erledigt aber wenn du nicht im ersten step
die Eltern der Eltern usw haben möchtest versuche es mit mehreren joins.

Code:
SELECT * 
FROM parents as a 
LEFT JOIN chiens as b ON b.chiens_id = a.kind_id
LEFT JOIN chiens as c ON c.chiens_id = a.vater_id
LEFT JOIN chiens as d ON d.chiens_id = a.mutter_id;
oder mit subselects

Code:
SELECT b.chiens_name as kind_name,
(select chiens_name from chiens where chiens_id=parent.mutter_id) as  mutter_name,
(select chiens_name from chiens where chiens_id=parent.vater_id) as  vater_name,
FROM parents as a 
LEFT JOIN chiens as b ON b.chiens_id = a.kind_id;
beides aber nur für kleinere Projekte geeignet.

mfg

ckaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
Antwort

Stichworte
abfrage, kind, mutter, stammbaum, vater


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Einfacher AJAX reload ? terra75 PHP Grundlagen 2 28.10.2008 12:46:09
Stammbaum mit Sql und Php coden. aber wie? Neo.P5 PHP Grundlagen 5 11.07.2006 12:51:01
Abfrageproblem aus Array Marove PHP Grundlagen 2 29.08.2004 17:24:51
Abfrageproblem mit date() klaus-maus MySQL 8 02.08.2004 16:49:39
einfacher Text per PHP an mail senden Jonny PHP Grundlagen 1 20.01.2004 08:16:01


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:15:19 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.


© 2001-2018 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt