Hello List,

I have a problem that I am looking your help for. Would greatly appreciate it. Here is 
what I am trying to do:

create table C (cId tinyint(4), cName varchar(10));
insert into C values (1,'Cat01'), (2,'Cat02'), (3,'Cat03'), (4,'Cat04');

create table SC (scId tinyint(4), cId tinyint(4), scName varchar(10));
insert into SC values (1, 1, 'SubCat01'), (2, 1, 'SubCat02');

create table T (tId tinyint(4), scId tinyint(4), cId tinyint(4), topic varchar(50));
insert into T values (1, 1, 1, 'Topic01'), (2, 1, 1, 'Topic02');

I am using the following sql query:

SELECT C.cId, C.cName, SC.scId, SC.scName, count(T.scId) as tCount
FROM C left outer join SC on (C.cId = SC.cId),
     SC SC1 left outer join T on (SC1.scId = T.scId
                                  and C.cId = T.cId
                                  and SC.scId = T.scId)
GROUP BY SC.scId
ORDER BY C.cId;

I am expecting to see an output like this:

cId  cName scId  scName    tCount
-------------------------------------
1    Cat01   1   SubCat01    2
1    Cat01   2   SubCat02    0
2    Cat02  NULL   NULL      0
3    Cat03  NULL   NULL      0
4    Cat04  NULL   NULL      0

BUT, what I am getting is

cId  cName scId  scName    tCount
-------------------------------------
1    Cat01   1   SubCat01    2
1    Cat01   2   SubCat02    0
2    Cat02  NULL   NULL      0

i.e. Cat03 & Cat04 do not show up. I don't know whay. I think, I am missing something 
obvious. Could any of you please help?

Thanks,
Nishi


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to