Leelu,

>The above Query's subselect query doesn't work properly, it lists
>even the posts whose forum id is in subselect query.

Your `post LEFT JOIN thread ON post.threadid=thread.threadid` asks for post rows whether they have matching thread rows or not. Are you sure you want that? It sounds backwards. Isn't your model like this...
 a forum may have threads,
 a thread may have posts
?

Then wouldn't your query be...

SELECT
 post.userid , post.pagetext , post.dateline , post.threadid,
 thread.title , thread.forumid
FROM forum
LEFT JOIN thread ON thread.forumid = forum.childlist
LEFT JOIN post ON thread.threadid=post.threadid
WHERE forum.userid <> xyz
 AND post.visible=1
 AND thread.visible = 1
ORDER BY post.dateline DESC LIMIT 5;

Or do I misunderstand your query?

PB


leeladharan acharya wrote:
Hi,

In MySQL, The following Query

SELECT `post`.`userid` , `post`.`pagetext` , `post`.`dateline`
,`post`.`threadid` , `thread`.`title` , `thread`.`forumid` FROM `post`LEFT JOIN `thread` ON `post`.`threadid`=`thread`.`threadid` WHERE`userid`=`xyz`
AND `thread`.forumid not in(SELECT `childlist` from`forum` where
forumid=`xyz`) AND `post`.`visible`=1 AND`thread`.visible = 1  ORDER BY
`post`.`dateline` DESC LIMIT 5;

The above Query's subselect query doesn't work properly, it lists even the
posts whose forum id is in subselect query.

If the same Query with inner Query replaced by direct values gives the
expected result set...

Is this problem with My Query or Something else.. ?

Regards
Leelu

------------------------------------------------------------------------

No virus found in this incoming message.
Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.7/830 - Release Date: 6/3/2007 12:47 PM

Reply via email to