Структура comments img
Структура data img
SELECT data.*, COUNT(comments.post) AS count
FROM data LEFT JOIN comments ON comments.post = data.id
WHERE data.YEAR(date) = '$this->year'
AND data.MONTHNAME(date) = '$this->month'
GROUP BY data.id ORDER BY data.date DESC
Смысл в том, что из таблицы data я выбираю нужные мне date и подчитываю количество полей comments.post соответсвующих id выбранных полей из date.
Запрос выше не работает, но отражает суть того, чего я хочу добиться.
Помогите, пожалуйста, составить запрос.
База данных - MySql
Спустя 3 часа, 30 секунд (15.09.2010 - 21:35) SlavaFr написал(а):
покажи мне
1)show create table `data`;
2)show create table `comments`
3) реальное содержимое $this->year u $this->month
1)show create table `data`;
2)show create table `comments`
3) реальное содержимое $this->year u $this->month
Спустя 9 часов, 23 минуты, 18 секунд (16.09.2010 - 06:58) alex_2017 написал(а):
CREATE TABLE `data` (
`id` int(5) NOT NULL auto_increment,
`alias` varchar(255) NOT NULL,
`meta_d` varchar(255) NOT NULL,
`meta_k` varchar(255) NOT NULL,
`description` text NOT NULL,
`text` text NOT NULL,
`view` int(7) NOT NULL,
`author` varchar(100) NOT NULL,
`date` date NOT NULL,
`mini_img` varchar(255) NOT NULL,
`alt_img` varchar(255) NOT NULL,
`title` varchar(255) NOT NULL,
PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=cp1251
CREATE TABLE `comments` (
`id` int(5) NOT NULL auto_increment,
`post` int(5) NOT NULL,
`author` varchar(100) NOT NULL,
`text` text NOT NULL,
`date` datetime default NULL,
`mail` varchar(255) NOT NULL,
PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=41 DEFAULT CHARSET=cp1251
$this->year = 2010
$this->month = March
Спустя 4 часа, 22 минуты, 27 секунд (16.09.2010 - 11:20) SlavaFr написал(а):
$Sql="SELECT `data`.*,
(SELECT COUNT(*) FROM comments where comments.post = `data`.id) AS cnt
FROM `data`
WHERE YEAR(`data`.`date`) = {$this->year}
AND MONTHNAME(`data`.`date`) = '{$this->month}'
ORDER BY `data`.`date` DESC";
Спустя 3 часа, 54 минуты, 11 секунд (16.09.2010 - 15:15) alex_2017 написал(а):
Спасибо за помощь, но дело в том, что у меня запрос обрабатывается в классе. Начинаться обязательно должно с SELECT data.*, COUNT(comments.post). Я давно еще сам осилил JOIN'ы, но прошло много времени, и никак не могу написать запрос сам.

Спустя 4 часа, 35 минут, 2 секунды (16.09.2010 - 19:50) SlavaFr написал(а):
так а мое AS cnt на AS `count` заменить?