从表中选择一行,其中一列与另一个表中的列组合匹配

时间:2016-10-17 21:23:59

标签: postgresql

我有Table1和Table2。

Table1有columnA和columnB以及其他一堆。表2包含columnC和其他列。

我想查询表2中满足的所有行:columnC遵循以下模式:{Table1_columnA}\_{blahblahblah}\_{Table1_columnB}。请注意,columnC可以包含其他值,例如“123_456_789”,它有两个下划线但不遵循上述模式。

2 个答案:

答案 0 :(得分:0)

*

答案 1 :(得分:0)

这样的事情:

select *
from table1 t1
  join table2 t2 on
       t2.columc = concat('{', t1.columna, '}\_{blablablah}\_{', t1.columnb,'}')