【发布时间】:2020-06-11 01:23:04
【问题描述】:
我正在寻找一种方法来检查字符串是否包含另一个字段中的任何单词,该字段是包含项目列表的单个字符串。像这样的...
id items (STRING)
1 burger;hotdog
我有第二个数据集,可能看起来像...
transaction_id description amount
10 cheeseburger 10
现在,如果描述与第一个表中的任何项目匹配,我需要获取金额,在这种情况下,它与字符串 burger 匹配,但是,我似乎无法正确获取 SQL,因为如果我要使用LIKE ANY 在 Snowflake 中,我需要传入两个单独的字符串 **('%burger%",'%hotdog%') - 在这种情况下,我无法进行显式调用因为第一个表中的每个 id/item 排列可能不同。当我尝试使用 Redshift 时
CASE WHEN lower(t.description) SIMILAR TO '%(' || replace(items,';','|') || ')%' then amount END
我收到以下错误:Redshift 表不支持指定的类型或函数(每条 INFO 消息一个)。
提前致谢!
【问题讨论】:
标签: sql amazon-redshift snowflake-cloud-data-platform