2017-09-05 1 views
0

テーブルの複数の行のデータを集計したいが、重複した値がある場合は、値を1つだけ取らなければならない。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値は

よう
ABC ABC abcaabc ABC
ABC ABC abcaabc BCD
col1のcol2にcol3というCOL4ので、この場合には、私は同じで2倍のABCを削除したくない場合があるかもしれません
文。
上記の出力は、ABC、ABC、ABC abcaabcでなければなりません。

+0

あなたの要件は私には分かりません。あなたはcol1、col2でグループ化したいと書いていますが、あなたの出力例はcol3もグループ化列であることを示しています。あなたの説明から、col1、col2、col3、およびstring-aggregate col4でグループ化すると思われます。 –

+0

いいえ私は明らかにcol3にも文字列集約が必要だと言いましたが、値が重複していれば私はただ一つの一意の値しか必要としません。 – vatsal

答えて

0

BCD私はそれが3つの段階で行うことができると思う: まず、あなたは、単一の列に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 

それは、あなたの質問を解決していますか?