在 Netezza 中使用 LIKE 运算符加入

Joining Using LIKE operator in Neteeza

我有一个 table 像:

我正在加入另一个 table:

我想要得到如下所示的输出 table:

我发现我的 Netezza 版本不支持 concat 但支持 ||反而。我尝试使用 LIKE 运算符加入 table,如下所示:

SELECT A.*, CASE WHEN A.GENERIC_NAME LIKE ('%'||B.O_DRUGS||'%') THEN B.DRUG_CLASS ELSE NULL END AS OTHER_DRUGS FROM DRUG1 AS A LEFT JOIN DRUG_LIST AS B ON A.GENERIC_NAME LIKE ('%'||O_DRUGS||'%');

该代码适用于精确匹配,但模糊匹配仍然无效。显然,我没有为此目的正确使用 like 运算符。 有什么建议吗??

你的LIKE条件向后看:

FROM DRUG1 D1 LEFT JOIN
     DRUG_LIST DL
      ON DL.O_DRUGS LIKE '%' || D1.GENERIC_NAME || '%'

注意:Table别名如a一般是没有意义的。使用 table 名称的缩写。