首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将此SQL语句转换为ADF(数据流)表达式

如何将此SQL语句转换为ADF(数据流)表达式
EN

Stack Overflow用户
提问于 2022-02-04 09:38:42
回答 1查看 110关注 0票数 0

有没有任何方法将此SQL语句转换为ADF表达式(窗口元素)?

代码语言:javascript
复制
CASE
WHEN MAX(
        IF (cd.index = 1, cd.value, NULL) IN ('product', 'productListing')) THEN
        CASE
        WHEN MAX(
                IF (cd.index = 2,cd.value,NULL)) LIKE '%sunglasses%' THEN
                'Sunglasses'
        WHEN MAX(
                IF (cd.index = 2,cd.value,NULL)) LIKE '%glasses%' THEN
                'Glasses'
        WHEN MAX(
                IF (cd.index = 2,cd.value,NULL)) LIKE '%contact%lens%' THEN
                'Contact_Lenses'
        ELSE
                'No_Mapped'
        END
ELSE
        'No_Mapped'
END AS PageCategory

对于数据流中的窗口元素,我尝试了不同的方法,但没有使用正确的结果。

谢谢!

<-解决

解决方案:

代码语言:javascript
复制
case( 

        max(toString(iif(toInteger(index) == 1, value)) == 'product'), case( 
        like( max(toString(iif(toInteger(index) == 2, lower(value)))), '%sunglasses%') ,'Sunglasses',
        like( max(toString(iif(toInteger(index) == 2, lower(value)))), '%glasses%') ,'Glasses',
        like( max(toString(iif(toInteger(index) == 2, lower(value)))), '%contact%lens%') ,'Contact_Lenses',
        toString('No_Mapped')
        ),
        max(toString(iif(toInteger(index) == 1, value)) == 'productListing'),case( 
        like( max(toString(iif(toInteger(index) == 2, lower(value)))), '%sunglasses%') ,'Sunglasses',
        like( max(toString(iif(toInteger(index) == 2, lower(value)))), '%glasses%') ,'Glasses',
        like( max(toString(iif(toInteger(index) == 2, lower(value)))), '%contact%lens%') ,'Contact_Lenses',
        toString('No_Mapped')
        ),
        max(toString(iif(toInteger(index) == 1, 'No_Mapped')))
        )
EN

回答 1

Stack Overflow用户

发布于 2022-03-04 12:57:56

谢谢佩塔尔·斯托吉科维奇。张贴你的讨论作为回答,以帮助其他社区成员。

将SQL语句转换为ADF表达式。以下是可能的解决办法。

代码语言:javascript
复制
case( 

        max(toString(iif(toInteger(index) == 1, value)) == 'product'), case( 
        like( max(toString(iif(toInteger(index) == 2, lower(value)))), '%sunglasses%') ,'Sunglasses',
        like( max(toString(iif(toInteger(index) == 2, lower(value)))), '%glasses%') ,'Glasses',
        like( max(toString(iif(toInteger(index) == 2, lower(value)))), '%contact%lens%') ,'Contact_Lenses',
        toString('No_Mapped')
        ),
        max(toString(iif(toInteger(index) == 1, value)) == 'productListing'),case( 
        like( max(toString(iif(toInteger(index) == 2, lower(value)))), '%sunglasses%') ,'Sunglasses',
        like( max(toString(iif(toInteger(index) == 2, lower(value)))), '%glasses%') ,'Glasses',
        like( max(toString(iif(toInteger(index) == 2, lower(value)))), '%contact%lens%') ,'Contact_Lenses',
        toString('No_Mapped')
        ),
        max(toString(iif(toInteger(index) == 1, 'No_Mapped')))
        )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70984171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档