Joins i MySQL

Tags:    databaser

Min situation er som følger:

Jeg har to tabeller i min MySQL database:

forum_threads:
Fold kodeboks ind/udKode 


forum_readposts:
Fold kodeboks ind/udKode 



forum_threads indeholder som navnet antyder trådene i mit forum. Når en bruger går ind og læser en tråd oprettes der en række i forum_readposts som angiver at brugeren har læst denne tråd.

Jeg ønsker nu at finde alle tråde hvor brugeren ikke har været inde og læse (altså hvor der ikke er noget post i forum_readposts med det bruger ID og den tråds id).

Jeg har prøvet med følgende select, men det virkede ikke:
SELECT header, traad FROM forum_threads LEFT JOIN forum_readposts ON forum_threads.id = forum_readposts.traad WHERE forum_readposts.user = 1;

Den ovenstående SQL burde efter min forståelse returnere alle posts, såvel ulæste som læste, men den returnerer kun de læste (som hvis jeg havde lavet en normal join).



1 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
select id,header from forum_threads where id not in (select traad from forum_readposts where user = 1);



t