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 に答える