我有两个表,每个表包含相似的值对,但不完全匹配。
具有正确值对的表是"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