【发布时间】:2013-12-06 20:50:57
【问题描述】:
如何在 Google Big Query 中使用区间连接两个表?
我有两张桌子:
Table CarsGPS:
ID | Car | Latitude | Longitude
1 | 1 | -22.123 | -43.123
2 | 1 | -22.234 | -43.234
3 | 2 | -22.567 | -43.567
4 | 2 | -22.678 | -43.678
...
Table Areas:
ID | LatitudeMin | LatitudeMax | LongitudeMin | LongitudeMax
1 | -22.124 | -22.120 | -43.124 | -43.120
2 | -22.128 | -22.124 | -43.128 | -43.124
...
我想交叉加入这些表,以使用 Google Big Query 检查每辆车经过的区域。
在一个普通的 SQL 服务器中,我会做:
SELECT A.ID, C.Car
FROM Cars C, Areas A
WHERE C.Latitude BETWEEN A.LatitudeMin AND A.LatitudeMax AND
C.Longitude BETWEEN A.LongitudeMin AND A.LongitudeMax
但 Google Big Query 只允许我使用连接表之间的完全匹配进行连接(甚至 JOIN EACH)。而“FROM X, Y”表示 UNION,而不是 JOINS。
所以,这不是一个选择:
SELECT A.ID, C.Car
FROM Cars C
JOIN EACH
Areas A
ON C.Latitude BETWEEN A.LatitudeMin AND A.LatitudeMax AND
C.Longitude BETWEEN A.LongitudeMin AND A.LongitudeMax
那么,我怎样才能运行类似的东西来识别每个区域内经过的汽车?
非常感谢,
【问题讨论】:
标签: google-bigquery