php - How to order the category that has most product -


i'm not clear in 1 of mysql. have 2 tables:

tblcategory
id, name

tblproduct
id, name, qty, price, category_id

and when use sql select catogories order product count:

select c.id,c.name,count(p.id) product_count  tblcategory c inner join tblproduct p on c.id=p.category_id  group c.id,c.name  order product_count; 

the result category has no product not appear in result! how can of them?

you need use left outer join:

select c.id,c.name,count(p.id) product_count  tblcategory c left outer join tblproduct p on c.id=p.category_id  group c.id,c.name  order product_count; 

the inner join keeps records match in both tables. want product categories, when there no matches. left outer join keeps records in first table (tblcategory) along matching records in second table (tblproduct). if there no products on category, you'll value of 0 instead of missing row.


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -