算在SQL中使用 - 如何?

时间:2010-07-28 07:08:21

标签: sql sql-server tsql

我有两张桌子

tblGoals
-name
-url
-siteID

tblUrlCollection
-url
-siteID

如何使用“url”和“siteID”作为输入来计算来自tblGoals的每个“url”在tblUrlCollection中的次数?

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

请帮助我 - 非常感谢。

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

2 个答案:

答案 0 :(得分: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 g.Site=@SiteId
GROUP BY g.url

答案 1 :(得分: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