2013-05-06 83 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