在Postgres中使用子字符串匹配联接多个表

时间:2020-04-28 21:51:31

标签: postgresql join pattern-matching

我在postgres的两个不同数据库中有两个表。

table1

id1   name1   col1
1     drug1   GLASDEGIB MALEATE
table2

id2   name2   col2
12    drug2   glasdegib

我正在使用以下查询将两个表合并在一起

select table1.*, ob.* 

from    
    table1

left join (
                   SELECT *
                   FROM   dblink('dbname=x port=x host=x user=x password=x,
                                '
                                SELECT
                                    *
                                FROM
                                    table2
                                    ; 
                                '
                                ) AS ob (id2 int,
                                         name2 character varying,
                                         col2 character varying)
                ) AS ob ON table1.col1 ilike '%' || ob.col2|| '%'

The desired output is:
id1   name1   col1                 id2   col2   col2
1     drug1   GLASDEGIB MALEATE    12   drug2   glasdegib

但是以上我喜欢的方法不起作用。如何获得所需的输出?

0 个答案:

没有答案