在部分字符串匹配中加入PostgreSQL中的两个表

时间:2017-07-20 01:48:52

标签: sql postgresql

我需要加入两个表,但我想加入的字符串不是明显的匹配。以下是两个表格中的棘手栏目(让我们将它们称为“#'”)(请注意,这些列中还有更多内容,但我只对以下列中的条目感兴趣包含单词" Campaign"):

TableA                         TableB
Campaign eCom Q2 2016          PH_Campaign Q2_042016
Campaign eCom Q3 2016          PH_Campaign Q3 ecomm_072016
Campaign Q1 2017 (AUTH 380)    PH_Campaign_Q1 2017_01012017
Campaign Q2 2017 (AUTH 421)    PH_Campaign_Q2_042017
Campaign Q3 2017 (AUTH 451)    Campaign_Q3_072017
Campaign Q4 2016               PH_Campaign Q4_102016
Campaign: Retail Stores        PH_Campaign Retail_092016

我已经写过它们,所以每行的条目应该匹配在一起

我想写一个像这样的查询

SELECT *
FROM TableA A INNER JOIN TableB B
ON A."date" = B."date" AND A.col LIKE B.col

我被卡住的地方......这是正则表达式的情况还是我可以用LIKE语句执行此操作?每行应包含单词Campaign,季度和年份,因此对于第一行我匹配包含:" Campaign"," Q2"和&# 34; 2016&#34 ;.那么最后一行应该与Contains匹配:" Campaign"," Retail"。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

您说该列中有其他信息,但没有看到其他数据,您可能需要调整正则表达式字符串。但希望你能得到这个想法。

seed

HTH,