【发布时间】:2022-12-08 20:51:49
【问题描述】:
我的 Db 是从一些彼此相似且共享相同列名的表构建的。原因是要对来自每个资源的数据进行比较。
table_A and table_B: id, product_id, capacitor_name, ressitance
很容易通过product_id加入表并查看比较,
但我需要比较 product_id 之间的数据,如果两个表中都存在,如果不存在,我想按名称相似性进行比较,如果相似性限制了最多 3 个结果的结果。
大多数时候名称不相等,这就是我使用相似性的原因。
SELECT * FROM table_a ta
JOIN table_b tb
ON
ta.product_id = tb.product_id
OR
similarity(ta.name,tb.name) > 0.8
它工作正常。但问题是有时我得到的数据比我需要的多,我该如何限制它? (此外,按相似度排序以获得更高相似度的名称)。
【问题讨论】:
标签: postgresql