Hello
I have two tables:
CREATE TABLE mnl_categories (
cat_id int(11) NOT NULL auto_increment,
category varchar(100) NOT NULL default '',
description varchar(200) default NULL,
score_1_name varchar(50) default NULL,
score_2_name varchar(50) default NULL,
score_3_name varchar(50) default NULL,
score_4_name varchar(50) default NULL,
active char(3) NOT NULL default 'yes',
PRIMARY KEY (cat_id),
KEY active (active)
) TYPE=MyISAM;
CREATE TABLE mnl_sub_categories (
sub_cat_id int(11) NOT NULL auto_increment,
cat_id int(11) NOT NULL default '0',
sub_category varchar(100) NOT NULL default '',
description varchar(200) default NULL,
active char(3) NOT NULL default 'yes',
PRIMARY KEY (sub_cat_id),
KEY cat_id (cat_id)
) TYPE=MyISAM;
I want to show a list of categories with a count of each sub_category for that list ie
Restaurant (5)
Diner (0)
Fast Food (3)
This is the query that I am using:
"SELECT mnl_categories.cat_id,
mnl_categories.category,
mnl_sub_categories.sub_category,
Count( mnl_sub_categories.sub_category ) As number_sub_cats
FROM mnl_categories
LEFT JOIN mnl_sub_categories ON mnl_categories.cat_id = mnl_sub_categories.cat_id
WHERE mnl_categories.active='yes' AND mnl_sub_categories.active='yes'
GROUP BY mnl_categories.category
ORDER BY mnl_categories.category";
It returns the count of every category that has a sub category, but will not return a category that has no sub categories ie Diner (0)
I'm stumped!
Any suggestions please?