2016-08-21 14 views
0

私は顧客にあるクレジットカードのデータを連結しようとしています。データの特殊な連結

たとえば、私は次のテーブル(それを呼び出す表A)抱えている:

custNum totAmount creditCardType 
    10  100  Visa 
    10  250  Mastercard 
    27  350  Visa 
    10  500  AmericanExpress 
    27  100  AmericanExpress 

等...

をし、私は次の形式でこのデータを連結しようとしている:

custNum totAmount creditCardType 
     10  850  Visa,Mastercard,AmericanExpress 
     27  450  Visa,AmericanExpress 

スマートで簡単な方法はありますか?

ありがとうございます!

+1

投票:このタイプの機能には、DBMS固有の回答が必要です。標準SQLはありません。リンクされた回答には、Teradataシステムで効率的に働く回答はありません。 – dnoeth

答えて

2

のTeradataでは、2つの可能な解決策があります

#1:再帰クエリは、常に返します。順序付きリスト。多くの行が連結されている場合(クレジットカードの種類を使用する場合はあなたのケースではありません)、多くのスプールを使用する可能性があります。 see this accepted answer

#2:AdditonallyあなたはROW_NUMBERをマテリアライズするVolatie表を作成する必要がXMLAGGを、XML-サービスがシステムにインストールされている場合は、はるかに簡単な構文は、必要に応じて順序付きリストをretunrs:再度開き用see this accepted answer