我在MS访问中有两个表。需要创建一个表来查找table1中的范围并计算该范围内table2中的记录。
表1
FROM TO
00100000 00799999
00800000 00899999
00900000 01599999
01600000 01899999
表2
Acct
00103614
00103615
00103624
00103626
00104001
00104002
00104003
00104004
00104302
00104400
00104401
00104404
00104406
00104407
01622345
01622347
01622353
01622357
01622359
01622362
01622365
01622366
01622368
所需的输出:
FROM TO Count
00100000 00799999 50
00800000 00899999 10
00900000 01599999 0
01600000 01899999 42
谢谢 弗兰克
答案 0 :(得分:0)
我会做这样的事情:
select count(*) as count, table1.tfrom, table1.to
from table2, table1
where table2.acct between table1.tfrom and table1.to
group by table1.tfrom, table1.to;
请避免在表/列名称中使用诸如from和to之类的“ SQL”字样
答案 1 :(得分:0)
使用 correlated 子查询:
select *, (select count(*)
from table2 t2
where t2.acct >= t1.from and
t2.acct <= t1.to
) as Count
from table1 t1;