基于多列postgresql的部分字符串匹配的sql连接表

x33g5p2x  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(308)

我有两个数据集:
区域的

地理

区域表包含一个位置列,其中包含有关英国城市的信息。地理表包含多个列,其中包含不同级别的位置信息,即县、地方政府、地区等。我想根据地区表的部分字符串匹配将这两个表连接到地理表的前3列中的任何一列。我尝试了以下代码,但它给出了空值。

SELECT a.created_at, a.text, SPLIT_PART(a.location, ',', 1) as location, b.*
FROM s.regional a
LEFT JOIN s.geo b
ON (a.location = b.name or a.location= b.county or a.location=b.local_govt)
gpnt7bae

gpnt7bae1#

而不是 a.location 使用 SPLIT_PART(a.location, ',', 1)ON 条款:

ON SPLIT_PART(a.location, ',', 1) IN (b.name, b.county, b.local_govt)

相关问题