我有2个表,其中一个表包含位置ID和标识符列表,如下所示
PKID LOCATIONID
232 656
2424 657
878 663
另一张表有locationID,以及一系列Mile Markers那些位置ID的参考。
LocID Roadway StartMM EndMM
656 I-40 373.5 376.4
657 I-40 373.5 376.4
658 I-40 373.5 376.4
660 I-40 377.5 381.4
661 I-40 377.5 381.4
662 I-40 377.5 381.4
66 I-40 377.5 381.4
注意相同StartMM和EndMM范围的多个LocID
我需要计算第一个表中每个locID在第二个表中出现的次数 例如,在上面示例的示例中,对于范围373.5到376.4,第一个表中有2个条目匹配,因此计数将为2.对于范围377.5到381.4,第一个表中的一个locID与范围匹配
我的输出需要像
Roadway StartMM EndMM Count
I-40 373.5 376.4 2
I-40 377.5 381.4 1
我希望这很清楚......任何帮助都非常感谢!
答案 0 :(得分:0)
假设您的第二个表中的LocID是唯一的,您可以做一些简单的事情:
SELECT Roadway,StartMM, EndMM, count(*)
FROM Table2
GROUP by Roadway, StartMM, EndMM
答案 1 :(得分:0)
SELECT Roadway,StartMM, EndMM, count(t1.locationid)
FROM Table2 t2
left join table1 t1
on t1.locationid = t2.locid
GROUP by Roadway, StartMM, EndMM
对于第一个表中没有匹配的位置ID的标记范围,计数为0。如果您只需要显示第一个表中存在的英里标记范围,请将左连接更改为内连接。