Hej,
Kunde inte komma på någon bättre titel på mitt "lilla" problem.
Jag har 4 tabeller, 3 jag vill hämta data ur, men grejjen är den att tabellerna är inte beroende av varandra, alltså en tabell kan ha data utan att de andra har det.
De fyra tabellerna är:
tblUser
tblImages
tblComments
tblBlogg
Det enda dom har gemensamt är att det är en och samma user som kan äga data i en av varje tabell. Jag försöker konstruera en sats där jag hämtar den senaste bilden, kommentaren och blogginlägget tillhörande just en user (t.ex. userid = 1) men jag lyckas bara med detta när alla fälten har ett värde.
Det som lyckas hämta data ur alla tabeller ser ut som nedan.
SELECT i.fldFilename, c.fldText, b.fldTitle
FROM tblBlogg b, tblComments c, tblImages i
WHERE b.fldUserId = 1
AND i.fldUserId = b.fldUserId
AND c.fldUserId = i.fldUserId
ORDER BY fldBloggId DESC , fldCommentId DESC , fldCommentId DESC LIMIT 1
SELECT
u.fldUserId ,
i.fldFilename,
c.fldText,
b.fldTitle
FROM
tblUsers u,
left join tblBlogg b on u.fldUserId = b.fldUserId
left join tblComments c on u.fldUserId = c.fldUserId
left join tblImages i on u.fldUserId = i.fldUserId
WHERE
u.fldUserId = 1
ORDER BY
fldBloggId DESC,
fldCommentId DESC LIMIT 1
i.fldFilename, c.fldText, b.fldTitle kommer att vara null om användaren inte har bild, kommentar eller blogg.
Tackar så mycket för hjälpen du ställde upp lite åt mig som hjälpte mig att lösa det i slutändan jag hade börjat lite på en left outer join som jag inte fick att fungera. Den koden du skickade fungerade inte heller utan jag modifierade den som du/ni kan se under citatet
Brimba skrev:
Prova detta...
SELECT
u.fldUserId ,
i.fldFilename,
c.fldText,
b.fldTitle
FROM
tblUsers u,
left join tblBlogg b on u.fldUserId = b.fldUserId
left join tblComments c on u.fldUserId = c.fldUserId
left join tblImages i on u.fldUserId = i.fldUserId
WHERE
u.fldUserId = 1
ORDER BY
fldBloggId DESC,
fldCommentId DESC LIMIT 1
i.fldFilename, c.fldText, b.fldTitle kommer att vara null om användaren inte har bild, kommentar eller blogg.
SELECT
u.fldUserId ,
i.fldFilename,
c.fldText,
b.fldTitle
FROM
tblUsers u
left outer join tblBlogg b on u.fldUserId = b.fldUserId
left outer join tblComments c on u.fldUserId = c.fldUserId
left outer join tblImages i on u.fldUserId = i.fldUserId
WHERE
u.fldUserId = 1
ORDER BY
fldBloggId DESC,
fldCommentId DESC LIMIT 1
Den fungerar kanoners nu!
Gott Nytt år än en gång! :bire
EDIT: Förresten vilket inlägg ska jag lägga som slutgiltigt? Trots allt inte jag som gjorde grovjobbet!