2010-07-28 46 views
1

我有两个表使用像在SQL中计数 - 如何?

tblGoals 
-name 
-url 
-siteID 

tblUrlCollection 
-url 
-siteID 

我如何指望有多少次,每次“URL”从tblGoals在tblUrlCollection使用“网址”和“的siteID”作为输入?

想使用like或者其他的东西,所以我可以添加通配符到“url”输入参数的末尾。

请帮助我 - 非常感谢。

性能不是一个大问题 - 后端的东西。

回答

2
DECLARE @SiteId int 
DECLARE @url varchar(100) 
SET @url = 'http://stackoverflow.com%' 
SET @SiteId = 10 

SELECT g.url, COUNT(u.url) AS C 
FROM tblGoals g 
LEFT OUTER JOIN tblUrlCollection u 
ON g.siteID = u.siteID AND g.url = u.url 
WHERE g.url LIKE @url and [email protected] 
GROUP BY g.url 
1

我认为这应该工作:

SELECT tblGoals.url, COUNT(tblGoals.url) 
FROM tblUrlCollection 
INNER JOIN tblGoals ON tblGoals.url = tblUrlCollection.url AND tblGoals.siteID = tblUrlCollection.siteID 
GROUP BY tblGoals.url