大数据计算MaxCompute不支持这么操作吗?

"大数据计算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, '%')
"

展开
收起
真的很搞笑 2023-10-20 19:03:02 202 分享 版权
2 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    问题1:是的,MaxCompute不支持使用LIKE操作符进行模糊匹配。你需要使用其他方法来实现模糊匹配。

    问题2:你可以尝试使用INNER JOIN或者LEFT JOIN来替代LIKE操作符。例如:

    SELECT *
    FROM a
    INNER JOIN b ON a.某字段 = b.某字段;
    

    或者

    SELECT *
    FROM a
    LEFT JOIN b ON a.某字段 = b.某字段;
    

    这样可以实现两个表的关联,但是需要注意的是,如果a表中没有与b表中的某个字段完全匹配的记录,那么结果集中将不会出现该记录。

    2023-10-22 21:00:31
    赞同 展开评论
  • 是的。join只能用and,或者单独写一个模糊匹配的子查询,此回答整理自钉群“MaxCompute开发者社区2群

    2023-10-20 19:40:50
    赞同 展开评论

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

还有其他疑问?
咨询AI助理