计算一个字段中包含在另一个字段中的字符串的出现次数。 MS Access

时间:2018-12-06 12:19:59

标签: sql ms-access

我对MS Access还是很陌生,我在努力挣扎。

我有一张邮政编码表,如下所示:

+-----------+
| Postcode  |
+-----------+
| Wa13 657  |
| eC2B 984  |
| eq8 987   |
+-----------+

另一个包含10个字段的表。

其中一个字段是pickup address,其中的条目如下所示:

+------------------------------------------+
|              pickup address              |
+------------------------------------------+
| 69, example entry road, London, wa13 657 |
| 87, example entry road, London, eC2B 984 |
+------------------------------------------+

我希望计算在postcode字段中发现每个pickup address的次数。

邮政编码必须完整,即不应计入eC2B之类的部分条目。

所以首先我想获得总数。如果可能的话,其次我想按日期范围来更改此日期范围,这些日期范围存储在第二个表的单独字段中。

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

您可以使用具有计算出的联接条件的联接:

select p.postcode, count(*)
from Postcodes p inner join Addresses a on instr(a.[pickup address],p.postcode) > 0
group by p.postcode

Postcodes更改为包含您的邮政编码的表的名称,并将Addresses更改为包含您的提取地址的表的名称(并更改postcodepickup address字段名称(如果需要)。

如果您希望按日期进一步过滤结果,只需添加一个WHERE子句:

select p.postcode, count(*)
from Postcodes p inner join Addresses a on instr(a.[pickup address],p.postcode) > 0
where a.date >= #2018-12-06#
group by p.postcode

(将date更改为日期字段的名称;如果此日期应引用其他字段,则需要提供有关数据结构的更多信息。)

请注意,这种类型的查询不能由MS Access查询设计器显示,而只能作为SQL查看。