0

假设我想在另一个表中查找列出的名称的提及。所以例如我有这张表:

ID  |  Name
----+-----------------------
1   |  PersonA
2   |  PersonB
3   |  PersonC
4   |  PersonD

现在我想在另一个表中的一个字段中搜索这些人的姓名并为每个人生成一个计数。这是我尝试过的,但无济于事:

select 
  Name, 
  sum(
        select
          count(*)
        from Posts
        where Posts.Body like '%[^N]' + [Name] + '%'
  ) as [Count]
from NamesTable
order by Name;

我在 SE 上使用数据资源管理器,所以任何语法都可以在那里工作,这就是我需要的。我不确定如何让这个工作,或者这是否是最好的方法。

4

1 回答 1

1

您的查询非常接近。您只是不需要sum()在外部查询中:

select Name, 
       (select count(*)
        from Posts
        where Posts.Body like '%[^N]' + [Name] + '%'
       ) as [Count]
from NamesTable
order by Name;
于 2013-07-19T20:23:00.190 回答