2011-08-19 43 views
2

請幫忙。在兩個mysql表上填充數據時遇到問題

我有兩個表。

SUBCAT

ID,USER_ID,subcat_id,標題,說明,價格,best_offer, 圖像,拉鍊,premium_listing,狀態,date_create,d DATE_MODIFIED

aditem

ID,USER_ID,subcat_id,標題,DESCRIPTIO,正極地研究中心,電子best_offer 圖像,拉鍊,premium_listing,狀態,DATE_CREATED,DATE_MODIFIED

我想列出SUBCAT所有類別和計數數量的已張貼到aditem,涉及到的ID在SUBCAT廣告項目

所以結果可能看起來像這樣

汽車 - 7

報廢汽車-9

服裝 - 10

自行車 - 0

我已經試過LEFT JOIN,但沒有奏效。有沒有辦法做到這一點?聯盟會工作嗎?

這裏是什麼,我想完成一個例子:http://www.ksl.com/index.php?nid=13

這是我曾嘗試

SELECT subcat.id, subcat.cat_id, subcat.subcat, subcat.description AS subdesc, COUNT(aditem.subcat_id) AS itemc 
    FROM subcat 
LEFT JOIN aditem 
     ON aditem.subcat_id = subcat.id 

萬分感謝 認真

+0

當你說「它沒有工作」 - 發生了什麼?看起來你錯過了一個group by子句,對我來說。 – Aerik

回答

0

您需要在COUNT(*)語句中使用回覆。類似於

SELECT subcat.title, COUNT(aditem.id) AS count FROM subcat LEFT JOIN aditem ON subcat_id = subcat.id 

您可能需要在最後;不知道,現在不能測試:

GROUP BY aditem.id 
0

嘗試使用

SELECT subcat.id, subcat.cat_id, subcat.subcat, subcat.description AS subdesc, COUNT(aditem.id) AS itemc FROM subcat LEFT JOIN aditem ON aditem.subcat_id = subcat.id 
GROUP BY subcat.cat_id 
+0

這裏沒有工作是更新的 – earnest

+0

您可以使用Order BY column_name子句。你能提供這種排序的例子嗎? –

+0

嘗試使用GROUP BY aditem.cat_id –