SAP中的正则表达式

时间:2017-09-05 03:50:36

标签: sql regex sap hana

我想在我的表中聚合多行数据,但如果有重复值,我只需要一个值。

Example    
col1     col2    col3     col4    
abc     abc     abc      abc    
abc     abc     abc      bcd    

所以我在col1,col2上做一个小组,并在col3,col4上做一个字符串聚合。
我想要结果像abc abc abc abc; bcd
正则表达式可以删除重复的单词 可能存在col3值类似于
的情况      例如
     col1 col2 col3 col4
     abc abc abcaabc abc
     abc abc abcaabc bcd
 所以在这种情况下,我不想删除同一句子中两次的abc 上面的输出应该是abc abc abcaabc abc; bcd

1 个答案:

答案 0 :(得分:0)

我认为可以分三步完成: 首先,将col3和col4合并为一个列。 然后重复删除值。 最后,通过col1,col2聚合并进行连接。

select col1, col2,
       STRING_AGG(col3,';') as RESULT
from (
     select col1, col2, col3
    from t1
    union --union operator will make a distinct, try with union all instead
    select col1, col2, col4
    from t1
    )nested
group by col1, col2 

这能解决你的问题吗?