“大数据计算MaxCompute不支持这么操作吗?
LEFT JOIN 表b on a.某字段 LIKE CONCAT(‘%’, b.某字段,’%’)
给我报错说:只能使用=;
expect equality expression (i.e., only use ‘=’ and ‘AND’) for join condition without mapjoin hint, but get: a.label
LIKE CONCAT(‘%’, b.label
, ‘%’)
“
“大数据计算MaxCompute不支持这么操作吗?
LEFT JOIN 表b on a.某字段 LIKE CONCAT(‘%’, b.某字段,’%’)
给我报错说:只能使用=;
expect equality expression (i.e., only use ‘=’ and ‘AND’) for join condition without mapjoin hint, but get: a.label
LIKE CONCAT(‘%’, b.label
, ‘%’)
“
问题1:是的,MaxCompute不支持使用LIKE操作符进行模糊匹配。你需要使用其他方法来实现模糊匹配。
问题2:你可以尝试使用INNER JOIN或者LEFT JOIN来替代LIKE操作符。例如:
或者
这样可以实现两个表的关联,但是需要注意的是,如果a表中没有与b表中的某个字段完全匹配的记录,那么结果集中将不会出现该记录。
是的。join只能用and,或者单独写一个模糊匹配的子查询,此回答整理自钉群“MaxCompute开发者社区2群