Redshift加入通配符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redshift加入通配符相关的知识,希望对你有一定的参考价值。

我正在尝试根据Redshift中子查询的结果集进行通配符搜索。例如,表A具有名字,表B具有名字,可以是姓氏,名字或名字,姓氏。我想基于对表A的子集的匹配从表B返回行。我找到了“类似于”运算符,但这似乎只有在我可以对要搜索的术语进行硬编码时才起作用。有没有办法我可以达到

SELECT col1 FROM Table_A WHERE col1 SIMILAR TO '%(SELECT distinct col2 FROM Table_B)%' 

为了实现

SELECT col1 FROM Table_A WHERE col1 LIKE '%something%' OR col1 LIKE '%something else%'
答案

您可以使用exists

select col1
from table_a a
where exists (
    select 1
    from table_b b
    where a.col1 similar to concat('%', b.col2, '%')
)

以上是关于Redshift加入通配符的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Redshift 在加入时会自动修剪 varchar 列?

递归自加入 Redshift?

在 Redshift COPY 中合并文件名

如何在没有 UNION ALL 的情况下查询 redshift 中的许多表?

Redshift 加入元数据表并选择列

在最近的日期加入 [Amazon Redshift]