nautiLus`
Erfahrenes Mitglied
PHP:
SELECT p.*, m.status, m.website, m.email, m.messenger, m.avatar, m.glow, m.sign, m.regdate, count(p.id)
FROM posts p LEFT OUTER JOIN members m
USING (nick)
GROUP BY p.nick
Hi, obige abfrage wird in 2 tables durchgeführt:
PHP:
CREATE TABLE `members` (
`id` smallint(5) unsigned NOT NULL auto_increment,
`status` tinyint(3) unsigned NOT NULL default '0',
`nick` varchar(20) NOT NULL default '',
`name` varchar(20) NOT NULL default '',
`pass` varchar(19) NOT NULL default '',
`email` varchar(50) NOT NULL default '',
`website` varchar(255) NOT NULL default '',
`` char(1) NOT NULL default '',
`city` varchar(30) NOT NULL default '',
`birth` varchar(10) NOT NULL default '',
`messenger` varchar(255) NOT NULL default '',
`avatar` varchar(255) NOT NULL default '',
`glow` varchar(7) NOT NULL default '',
`slogan` text NOT NULL,
`sign` varchar(75) NOT NULL default '',
`info` text NOT NULL,
`regdate` datetime default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`)
)
PHP:
CREATE TABLE `posts` (
`id` smallint(5) unsigned NOT NULL auto_increment,
`tid` smallint(5) unsigned NOT NULL default '0',
`nick` varchar(20) NOT NULL default '',
`content` text NOT NULL,
`editdate` datetime default NULL,
`editname` varchar(20) NOT NULL default '',
`postdate` datetime default NULL,
PRIMARY KEY (`id`)
)
Die Abfrage liefert mir zwar das korrekte Ergebis beim count() aber sobald ich eine Having klausel dranhänge ist der count nicht mehr korrekt:
PHP:
SELECT p.*, m.status, m.website, m.email, m.messenger, m.avatar, m.glow, m.sign, m.regdate, count(p.id)
FROM posts p LEFT OUTER JOIN members m
USING (nick)
GROUP BY p.nick, p.id
HAVING p.tid = 1
Die Counts werden dann alle auf 1 gesetzt was ich aber nicht will.
Kann mir da wer bescheid sagen, was ich falsch mache!?
mfg Nauti