Вывод всех категорий с подсчетом количества записей у каждой
Здравствуйте, пожалуйста подскажите как вывести категории и подкатегории с кол-ом записей.
если есть запись то выводить кол-во если нету то 0 или еще что.
--
-- Структура таблицы `shop_catalogParent`
--
CREATE TABLE IF NOT EXISTS `shop_catalogParent` (
`catalog_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
`catalog_name` varchar(80) NOT NULL,
`catalog_position` tinyint(2) unsigned NOT NULL DEFAULT '0',
`catalog_visible` tinyint(1) unsigned NOT NULL DEFAULT '1',
PRIMARY KEY (`catalog_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ;
--
-- Дамп данных таблицы `shop_catalogParent`
--
INSERT INTO `shop_catalogParent` (`catalog_id`, `catalog_name`, `catalog_position`, `catalog_visible`) VALUES
(1, 'Игрушки', 1, 1),
(2, 'Телефоны', 2, 1),
(3, 'Ноутбуки', 3, 1),
(4, 'Мебель', 4, 0);
--
-- Структура таблицы `shop_catalogSub`
--
CREATE TABLE IF NOT EXISTS `kupibon_catalogSub` (
`sub_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
`sub_name` varchar(80) NOT NULL,
`parent_catalog` tinyint(3) unsigned NOT NULL,
`sub_position` tinyint(3) unsigned NOT NULL DEFAULT '0',
`sub_visible` tinyint(1) unsigned NOT NULL DEFAULT '1',
PRIMARY KEY (`sub_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=46 ;
--
-- Дамп данных таблицы `shop_catalogSub`
--
INSERT INTO `shop_catalogSub` (`sub_id`, `sub_name`, `parent_catalog`, `sub_position`, `sub_visible`) VALUES
(1, 'Куклы', 1, 1, 1),
(2, 'Машины', 1, 2, 1),
(3, 'Iphone', 2, 1, 1),
(4, 'Apple', 3, 1, 1),
(5, 'Диваны', 4, 1, 1);
--
-- Структура таблицы `shop_catalogProducts`
--
CREATE TABLE IF NOT EXISTS `shop_catalogProducts` (
`product_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`product_title` varchar(255) NOT NULL,
`product_keywords` varchar(255) NOT NULL,
`product_description` varchar(255) NOT NULL,
`product_img` varchar(255) NOT NULL DEFAULT 'no_image.jpg',
`product_imgSlide` varchar(255) NOT NULL DEFAULT 'no_image.jpg',
`product_parent` tinyint(3) unsigned NOT NULL,
`product_content` text NOT NULL,
`product_visible` tinyint(1) unsigned NOT NULL DEFAULT '1',
`product_hit` tinyint(1) unsigned NOT NULL DEFAULT '0',
`product_hot` tinyint(1) unsigned NOT NULL DEFAULT '0',
`product_new` tinyint(1) unsigned NOT NULL DEFAULT '0',
`product_onTop` tinyint(1) NOT NULL DEFAULT '2',
`product_price` int(7) NOT NULL DEFAULT '0',
`product_fullPrice` int(7) NOT NULL DEFAULT '0',
`product_discount` int(3) NOT NULL DEFAULT '0',
`product_forSale` int(10) NOT NULL DEFAULT '0',
`product_endTime` int(10) NOT NULL DEFAULT '0',
`product_beginPeriod` int(10) NOT NULL DEFAULT '0',
`product_endPeriod` int(10) NOT NULL DEFAULT '0',
`product_onMap` int(1) NOT NULL DEFAULT '0',
`product_companyName` varchar(255) NOT NULL,
`product_companyUrl` varchar(255) NOT NULL,
`product_companyPhone` varchar(255) NOT NULL,
`product_companyAddress` varchar(255) NOT NULL,
`product_companyDescription` text NOT NULL,
PRIMARY KEY (`product_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
--
-- Дамп данных таблицы `shop_catalogProducts`
--
INSERT INTO `shop_catalogProducts` (`product_id`, `product_title`, `product_keywords`, `product_description`, `product_img`, `product_imgSlide`, `product_parent`, `product_content`, `product_visible`, `product_hit`, `product_hot`, `product_new`, `product_onTop`, `product_price`, `product_fullPrice`, `product_discount`, `product_forSale`, `product_endTime`, `product_beginPeriod`, `product_endPeriod`, `product_onMap`, `product_companyName`, `product_companyUrl`, `product_companyPhone`, `product_companyAddress`, `product_companyDescription`) VALUES
(1, 'Товар 1', '', '', 'no_image.jpg', 'no_image.jpg', 2, '', 1, 1, 0, 0, 2, 990, 14000, 53, 0, 0, 0, 0, 0, '', '', '', '', ''),
(2, 'Товар 2', '', '', 'no_image.jpg', 'no_image.jpg', 2, '', 1, 1, 0, 0, 2, 990, 14000, 53, 0, 0, 0, 0, 0, '', '', '', '', ''),
(3, 'Товар 3', '', '', 'no_image.jpg', 'no_image.jpg', 3, '', 1, 0, 0, 0, 2, 390, 16500, 72, 0, 0, 0, 0, 0, '', '', '', '', '');
есть вот такой вот запрос:
SELECT * FROM shop_catalogSub
INNER JOIN shop_catalogParent ON
shop_catalogSub.parent_catalog = shop_catalogParent.catalog_id
WHERE
shop_catalogParent.catalog_visible = 1 AND shop_catalogSub.sub_visible = 1
ORDER BY catalog_position, sub_position
все с учетом видимости каталогов и их позиции я получаю
нужно еще получить в запросе кол-во записей если имеются записи
shop_catalogParent - хранит в себе родительские категории(только категории, записей нет)
shop_catalogSub - хранит в себе подкатегории shop_catalogParent
shop_catalogProducts - хранит в себе товары из подкатегорий shop_catalogSub