Hjælp til MySQL udtræk op imod to tabeller
Betragt nedenståne:CREATE TABLE `threads` (
` threadid ` smallint(6) NOT NULL auto_increment,
`topicid` smallint(6) NOT NULL default '0',
`subject` varchar(128) NOT NULL default '',
`views` smallint(4) NOT NULL default '0',
`replies` smallint(5) NOT NULL default '0',
`author` varchar(32) NOT NULL default '',
`date` text NOT NULL,
`timestamp` timestamp(14) NOT NULL,
PRIMARY KEY (`threadid`),
KEY `topicid` (`topicid`),
KEY `threadid` (`threadid`)
) TYPE=MyISAM AUTO_INCREMENT=25 ;
threadid er auto_increment og der bliver tildelt et unik nummer for hver threadid.
threadid findes også I tabellen posts, til hver postid er der en relation til threadid, således at der kan være flere posts inden for samme threadid.
CREATE TABLE ` posts ` (
`topicid` smallint(6) NOT NULL default '0',
`threadid` int(10) NOT NULL default '0',
`postid` int(10) NOT NULL auto_increment,
`author` varchar(32) NOT NULL default '',
`message` text NOT NULL,
`subject` varchar(250) NOT NULL default '',
`date` text NOT NULL,
`timestamp` timestamp(14) NOT NULL,
PRIMARY KEY (`postid`),
KEY `topicid` (`topicid`),
KEY `threadid` (`threadid`)
) TYPE=MyISAM AUTO_INCREMENT=43 ;
Jeg ønsker nu at hente de 5 sidste subject felter i tabellen posts ud fra timestamp, men de må ikke have samme `threadid`
Jeg har forsøgt denne her:
SELECT posts.subject,threads.threadid FROM posts,threads WHERE posts.threadid=threads.threadid GROUP BY threads.threadid ORDER BY posts.timestamp DESC LIMIT 0,5
Som giver dette resultat:
threadid
24
23
22
21
20
Resultatet skulle have været:
threadid
22
24
20
23
22
Så den får ikke posts med??
