Hall0,
sorry erstmal für die falsche Überschrift. Aus meinem Frust heraus bin ich ganz durcheinander :(
Dieser eine Datensatz hat eine von den drei motherPlanIds. Von den anderen beiden ist kein Datensatz in der Ergebnismenge. Da kann dann auch keiner mit den anderen Ergebnismengen gejoint werden.
Bin mir jetzt nicht sicher ob ich das richtig erklärt habe da ich Deiner Erklärung nicht ganz folgen kann Deshalb hier kurz anhand eines Beispiels wie die Tabellen aussehen (ich schreibe nicht alle Felder, damit es etwas übersichtlicher wird)
MotherPlan: motherPlanId motherPlanName startborn ------------ breederInfoId bornType 1 Testname 2014-08-01 20:30:00 1 1 2 Testname2 2014-09-01 20:30:00 1 1 3 Testname3 2014-10-01 20:30:00 2 1
breederInfo: breederInfoId breeder 1 Heinzmann 2 Neumann
bornType: bornTypeId bornyTpe 1 natural
images: imageId imageForm imageTitle motherPlanId imageCreateDate 1 jpg Geburt Tag 1 1 2014-10-01 20:30:00 2 jpg Geburt Tag 3 1 2014-11-01 20:30:00 3 jpg Geburt Tag 1 2 2014-10-11 20:31:00 4 jpg Geburt Tag 5 2 2014-12-01 20:30:00 5 jpg Geburt Tag 1 3 2015-01-01 03:30:00 6 jpg Geburt Tag 2 3 2015-01-01 04:30:00
information: informationId information informationTitle createDateTime motherPlanId 1 Testinfo 1 Testtitel 1 2014-10-01 20:30:00 1 2 Testinfo 1 Testtitel 1 2014-11-11 20:30:00 1 3 Testinfo 1 Testtitel 1 2014-09-01 20:33:00 2 4 Testinfo 1 Testtitel 1 2014-10-01 20:37:00 2 5 Testinfo 1 Testtitel 1 2014-12-01 20:30:00 3 6 Testinfo 1 Testtitel 1 2014-12-09 20:33:00 3
Wie zu sehen ist, ist die Hauptabelle die motherPlan, davon benötige ich jeden Datensatz. In den beiden Tabellen breederInfo und borntype, kann es maximal nur einen zugehörigen Datensatz für die motherPlan geben oder eben keinen deswegen der normale Left Join damit alle Datensätze der motherplan auch ausgegeben werden. die anderen beiden tabellen images und informations können jedoch mehrere zugehörige Datensätze für die motherPlan haben oder auch keinen. Damit jedoch nur soviele Zeilen ausgegeben werden wie Datensätze in der Motherplan vorhanden sind, muss ich die Ergebnismenge aus images und information mit LIMIT 1 belegen. Damit ich das kontrollieren kann, sortiere ich die Datensätze aus images und information zuvor noch.
Wurde es jetzt transparenter?
das müsste doch mit Left-Joins gehenoder? Wenn nicht müsste es doch eine andere simple Möglichkeit geben
Grüße Jürgen