2017-09-05 74 views
0

我想彙總表中多行的數據,但是如果有重複值,那麼我只需要取一個值。在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; BCD

+0

您的要求我不清楚。你寫到你想按col1,col2分組,但是你的例子輸出顯示col3也是一個分組列。根據你的描述,似乎你想按col1,col2,col3和string-aggregate col4進行分組。 –

+0

不,我已經明確提到我需要在col3上的字符串聚合,但如果值是重複的,那麼我只需要一個唯一的值。 – vatsal

回答

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 

這是否解決了您的問題?

相關問題