Hallo
ich habe unten stehenden mysql-query
Ich habe in der motherplan 3 Datensätze mit der id 1,2,3 in der images habe ich 6 Datensätze wobei je zwei Datensätze die motherPlanId 1,2 oder 3 haben es sind also zwei Datensätze für jede ID vorhanden
in der information ist es genauso. Ich sortiere in den subselects das Datum und lasse mir dann nur einen Datensatz ausgeben Dabei tritt folgendes Problem auf ich erhalte zwar nur 3 Datensätze wie gewollt, jedoch nur einen Datensatz der image und information wobei ich auch 3 erhalten müsste da ja dort jede motherPlanId hinterlegt ist
Lasse ich Limit 1 weg so erhalte ich 6 Datensätze. Die Subselects habe ich einzeln gestets sie funktionieren was auch zeigt wenn ich Limit weglasse
irgend etwas passt da nicht
kann jemand helfen?
Grüße Jürgen
SELECT
motherPlan.motherPlanId,motherPlan.motherPlanName,motherPlan.startBorn,
motherPlan.endBorn,
motherPlan.bornTypeId,motherPlan.active,motherPlan.motherPlanStars,
bi.name,bi.breeder,
bt.growType,
im.imageId as imagesimageId, im.imageForm,im.imageTitle,
inf.information, inf.informationTitle,inf.createDateTime, inf.changeDateTime
FROM motherPlan
LEFT JOIN breederInfo AS bi ON bi.breederInfoId = motherPlan.breederInfoId
LEFT JOIN bornType AS bt ON motherPlan.bornTypeId = bt.bornTypeId
LEFT JOIN
(SELECT imageId,imageCreateDate, imageForm,imageTitle,motherPlanId from images ORDER BY imageCreateDate LIMIT 1) AS im
ON motherPlan.motherPlanId = im.motherPlanId
LEFT JOIN
(SELECT information, informationTitle, createDateTime , changeDateTime, motherPlanId from information ORDER BY createDateTime LIMIT 1) AS inf
ON motherPlan.motherPlanId = inf.motherPlanId
ORDER BY 1 DESC LIMIT 0 , 10