Здравствуйте.
Целый день долблюсь и не могу понять в чем ошибочек мой запрос.
Вот сам запрос в упрощенном виде (в теории он должен получить статьи из таблицы content, колличество коментариев из таблицы comments к какждой статье, и подробные данные об авторе статьи из users):
SELECT c . *, count(icom.id) as countcomments
FROM content AS c, users AS u
LEFT JOIN comments AS icom ON ( icom.idarticle = c.id )
WHERE u.id = c.created_by
GROUP BY c.id
Вот структура трех участвующих таблиц (это таблицы контента, комментариев и пользователей):
CREATE TABLE `content` (
`id` int(11) NOT NULL auto_increment,
`title` varchar(255) NOT NULL default '',
`introtext` text NOT NULL,
`fulltext` text NOT NULL,
`state` char(1) NOT NULL default '0',
`created` datetime NOT NULL default '0000-00-00 00:00:00',
`created_by` int(11) NOT NULL default '0',
`hits` int(11) NOT NULL default '0',
`metakey` text NOT NULL,
`metadesc` text NOT NULL,
`comments` char(1) NOT NULL default '',
`premoderation` char(1) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
CREATE TABLE `comments` (
`id` int(11) NOT NULL auto_increment,
`parent` int(11) NOT NULL default '0',
`idarticle` int(11) NOT NULL default '0',
`created_by` int(11) NOT NULL default '0',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`text` text NOT NULL,
`publish` int(3) NOT NULL default '0',
`username` varchar(70) NOT NULL default '',
`email` varchar(70) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
CREATE TABLE `users` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) NOT NULL default '',
`username` varchar(150) NOT NULL default '',
`email` varchar(100) NOT NULL default '',
`password` varchar(100) NOT NULL default '',
`usertype` varchar(25) NOT NULL default '',
`block` tinyint(4) NOT NULL default '0',
`sendEmail` tinyint(4) default '0',
`gid` tinyint(3) unsigned NOT NULL default '1',
`registerDate` datetime NOT NULL default '0000-00-00 00:00:00',
`lastvisitDate` datetime NOT NULL default '0000-00-00 00:00:00',
`activation` varchar(100) NOT NULL default '',
`params` text NOT NULL,
PRIMARY KEY (`id`),
KEY `usertype` (`usertype`),
KEY `idx_name` (`name`),
KEY `gid_block` (`gid`,`block`),
KEY `username` (`username`),
KEY `email` (`email`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
Проблема в том, что мой запрос работает MySQL 4.1.16, но наотрез отказывается работать в MySQL 5.0.45 и выдает ошибку Unknown column 'c.id' in 'on clause'.
Подскажите как надо исправить запрос, чтобы он работал желательно во всех версиях mysql:)