ich habe drei tabellen (in meinem selbstgebastelten forum)
foren, threads und answers und folgende abfrage:
letzter_user und letzter_eintrag geben aber das falsche ergebnis aus. ich will, dass der eintrag mit dem letzten datum bzw. der user, der diesen (den letzten) beitrag geschrieben hat.
hier die tabellen:
foren, threads und answers und folgende abfrage:
PHP-Code:
SELECT f.id, f.name, f.zusatz,
COUNT(DISTINCT t.id) AS anzahl_themen,
MAX(DATE_FORMAT(a.created, '%d-%m-%Y')) AS letzter_eintrag,
COUNT(DISTINCT a.id) AS anzahl_beitraege,
MAX(a.user) AS letzter_user,
MAX(a.tid) AS link
FROM foren f
LEFT JOIN threads t ON f.id = t.fid
LEFT JOIN answers a ON t.fid = a.fid AND t.id = a.tid
GROUP BY f.id, f.name, f.zusatz
ORDER BY f.id
hier die tabellen:
PHP-Code:
CREATE TABLE foren (
id int(11) NOT NULL auto_increment,
name tinytext NOT NULL,
zusatz text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;
CREATE TABLE threads (
id int(11) NOT NULL auto_increment,
fid int(11) default NULL,
topic tinytext NOT NULL,
autor varchar(30) NOT NULL default '',
text text NOT NULL,
created datetime default NULL,
ip varchar(15) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;
CREATE TABLE answers (
id int(11) NOT NULL auto_increment,
tid int(11) default NULL,
fid int(11) default NULL,
user tinytext NOT NULL,
topic tinytext NOT NULL,
text text NOT NULL,
created datetime default NULL,
ip varchar(15) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;
Kommentar