使用与前 n 个数字匹配的部分字符串加入 PostgreSQL
Join using partial string match with the first n number PostgreSQL
我正在尝试根据 PostgreSQL 中的部分字符串匹配来连接两个表。例如,我有以下内容:
table1.code
010129
022933
029482
table2.new_code
010129847648
022933646495
029482732610
我想根据两个表中匹配的前 6 个字符进行联接。出于绝望,我尝试了类似下面的方法,但 Postgres 似乎不喜欢它。
SELECT table1.code, table2.new_code,
FROM table1
INNER JOIN table2
ON table1.code = LEFT(table2.code, 6)
有没有办法做我想做的事?
除了一些语法问题外,您所拥有的应该可以使用。 table2 中的列名为 new_code 并且 select 列表中有一个额外的逗号。
SELECT table1.code, table2.new_code
FROM table1
INNER JOIN table2
ON table1.code = LEFT(table2.new_code, 6);
我正在尝试根据 PostgreSQL 中的部分字符串匹配来连接两个表。例如,我有以下内容:
table1.code
010129
022933
029482
table2.new_code
010129847648
022933646495
029482732610
我想根据两个表中匹配的前 6 个字符进行联接。出于绝望,我尝试了类似下面的方法,但 Postgres 似乎不喜欢它。
SELECT table1.code, table2.new_code,
FROM table1
INNER JOIN table2
ON table1.code = LEFT(table2.code, 6)
有没有办法做我想做的事?
除了一些语法问题外,您所拥有的应该可以使用。 table2 中的列名为 new_code 并且 select 列表中有一个额外的逗号。
SELECT table1.code, table2.new_code
FROM table1
INNER JOIN table2
ON table1.code = LEFT(table2.new_code, 6);