我对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
之类的部分条目。
所以首先我想获得总数。如果可能的话,其次我想按日期范围来更改此日期范围,这些日期范围存储在第二个表的单独字段中。
任何帮助表示赞赏!
答案 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
更改为包含您的提取地址的表的名称(并更改postcode
和pickup 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查看。