2013-05-06 93 views
1

的我有兩個表:聯接查詢在mysql的兩個表

ad (id(int) , userid(int)):表來存放廣告的其中有一個用戶列
adcat (adid(int) , catid(int)):表來存儲每個廣告(即AdID)的類別ID(CATID)

現在我想是讓特定用戶發佈的

例如特定類別的廣告數量:CATID的所有廣告= 1,並與用戶id = 725

謝謝

回答

2

嘗試使用JOINCOUNT

SELECT COUNT(*) ads_total 
    FROM ad a JOIN 
     adcat c ON a.id = c.adid 
WHERE c.catid = 1 AND 
     a.userid = 725 

SQLFiddle

+0

謝謝你的工作 – iOSGeek 2013-05-06 22:43:52

+0

不客氣。很高興幫助。 – peterm 2013-05-06 23:17:21

3
SELECT * FROM ad 
LEFT JOIN adcat 
ON adcat.adid = ad.id 
WHERE adcat.catid = 1 AND ad.userid = 725 
+0

謝謝它的作品獲得廣告,並且使用這個數字很容易獲得數字當我們添加COUNT時,我們的查詢 – iOSGeek 2013-05-06 22:47:04

1

你需要加入表:

SELECT * FROM ad INNER JOIN adcat ON adid=id WHERE catid=1 and userid=725; 
+0

感謝您獲得廣告的作品,我們可以添加COUNT以獲得號碼 – iOSGeek 2013-05-06 22:46:21

+0

的確定。只是'''COUNT(*)'''而不是''''''' – luksch 2013-05-06 22:49:02