PostgreSQL - 模式匹配 - 字符串到子字符串

j_rah14

我正在尝试根据匹配的邮政编码将两个表连接到数据库中,但是在与单行数据相关的多个邮政编码的情况下我很挣扎。

表 1有 2 列(唯一 ID邮政编码)。一条记录可能在此列中只有一个邮政编码,也可能有多个以逗号分隔形式的邮政编码。

表 2也有两列(开发描述邮政编码)。在此表中,邮政编码列只能有一个邮政编码。

我想确定并加入表 2 中的邮政编码匹配或包含在表 1 中的相关列中的位置。我已经能够在每列中有一个邮政编码的地方这样做,但目前无法这样做表 1 中有多个邮政编码。

下面的代码带回了只有一个邮政编码的匹配项。

SELECT      t1.id,
            t1.postcodes,
            t2.dev_description,
            t2.postcode
FROM        table1      AS  t1
INNER JOIN  table2  AS  t2
ON          t2.postcode LIKE    t1.postcodes
WHERE       t2.postcode =   'XXX XXX'

我尝试过使用'%'|| ||'%'和其他各种功能,但老实说我有点不知所措。

如果有人可以提供帮助,那就太好了!谢谢

安多马尔

你可以加入:

',' || t1.postcodes || ',' like  '%,' || t2.postcode || ',%'

这将扩展为:

',1234AB,2345AB,3456AB,' like '%,1234AB,%'

或者您可以使用string_to_array@>包含运算符:

string_to_array(t1.postcodes, ',') @> array[t2.postcode]

这扩展为:

array['1234AB','2345AB','3456AB'] @> array['1234AB']

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PostgreSQL UPDATE子字符串替换

来自分类Dev

2模式字符串匹配算法

来自分类Dev

替换与模式匹配的部分字符串

来自分类Dev

模式匹配包含点的字符串

来自分类Dev

TPC-H查询性能如何在PostgreSQL中大大改善了涉及字符串模式匹配谓词的条件

来自分类Dev

SML / NJ字符串模式匹配

来自分类Dev

head ::字符串的尾部模式匹配

来自分类Dev

匹配字符串末尾的模式?

来自分类Dev

字符串模式匹配MySQL

来自分类Dev

重击模式匹配字符串

来自分类Dev

PostgreSQL中的字符串匹配模式

来自分类Dev

查找字符串匹配模式

来自分类Dev

将子字符串与字符串匹配

来自分类Dev

Lua模式匹配空字符串

来自分类Dev

PostgreSQL匹配任何字符串

来自分类Dev

在PostgreSQL 11.0中将通过子字符串匹配提取的数字转换为Years

来自分类Dev

PostgreSQL使用子字符串排序

来自分类Dev

获取固定长度的子字符串匹配模式

来自分类Dev

模式将字符串与模板字符串匹配

来自分类Dev

TPC-H查询性能如何在PostgreSQL中大大改善了涉及字符串模式匹配谓词的条件

来自分类Dev

将子字符串与字符串匹配

来自分类Dev

如何匹配满足特定模式的字符串之后的子字符串

来自分类Dev

匹配字符串模式

来自分类Dev

字符串模式匹配==

来自分类Dev

匹配字符串中的子字符串

来自分类Dev

带有空格的PostgreSQL子字符串模式

来自分类Dev

Postgresql:查找与最接近的子字符串匹配的字符串

来自分类Dev

通过子字符串模式解析字符串

来自分类Dev

使用模式/匹配器提取子字符串