BigQuery, SQL -表之间最接近的对



我有两个表,每个表包含相似的值对,但不完全匹配。

具有正确值对的表是"base_table"base_table

具有近似值对的表为"table2">

我想链接"order_id"表2"使用"base_table"中正确的值对得到一个最终的结果,如表"结果"。这个表将获取精确的值对,并将它们与"order_id">

结果

任何想法都是非常感谢的

对于这个特定的用例,您可以使用CROSS JOIN并在WHERE子句中指定模糊匹配:

select
order_id, user_id, a2, b2
from
base_table as bt
cross join
table_2 as tt 
where 
(bt.a2 between tt.a - 0.3 and tt.a + 0.3) and
(bt.b2 between tt.b - 0.3 and tt.b + 0.3)
order by 
1

输出:

order_id user_id a2     b2
-------- ------- ------ ------
1001     joe     4.359  7.263
1002     tony    6.1883 8.15
1003     nick    7.241  9.1001
1004     mark    9.1    4
1005     frank   4.09   6

相关内容

  • 没有找到相关文章

最新更新