2016-11-23 6 views
-2

複数のユーザーによって作成された重複するエントリのテーブルがProfitcenterFinancialAccountにあります。重複するレコードがある場合に列リストを取得します

私は(PC1CE1は、レコードが重複していると言う、私はabcdegの両方に電子メールを送信し、メール内のレコードの両方が表示されます)し、重複エントリのSubmitteby列内のユーザーに電子メールを送信する必要があります。

どうすればいいですか?助けてください。

以下は、表のスナップショットです。クエリ以下

ProfitCenterCode FinancialAccountCode FormName SubmittedBy 
PC1     CE1      SMSG  abc 
PC1     CE1      SMSG  deg 
PC2     CE2     MCB Dynamic iol 
PC2     CE2     N/A   ppp 
PC2     CE2     MCB Dynamic  iol 
PC2     CE2     MCB Dynamic iol 
PC2     CE2     MCB Dynamic iol 
PC2     CE2     MCB Dynamic iol 
+1

試したコードはありますか? – Sefe

+0

サンプルテーブルのデータでは、どのような結果が得られますか? – jarlh

+0

メールをabc、deg以下に設定してください。 ProfitCenterCode FinancialAccountCode FormName SubmittedBy PC1 CE1 SMSG abc PC1 CE1 SMSG deg – John

答えて

0

この

ProfitCenterCode、FinancialAccountCode、フォーム名、SubmittedByList

"PC1"、 "CE1"、 "SMSG"、 "ABC、DEG"

のような結果になります
SELECT outer.ProfitCenterCode,outer.FinancialAccountCode,outer.FormName  
    (SELECT STUFF((SELECT ','+inner.SubmittedBy FROM <YOUR-TABLE> inner 
    WHERE inner.ProfitCenterCode = outer.ProfitCenterCode 
    and inner.FinancialAccountCode = outer.FinancialAccountCode 
    and inner.FormName = outer.FormName 
    FOR XML PATH ('')),1,1,"") AS SubmittedByList) 
    FROM <YOUR-TABLE> outer 
    GROUP BY outer.ProfitCenterCode,outer.FinancialAccountCode,outer.FormName 

この結果セットで説明したように別々の行として送信する場合は各項目を繰り返し処理し、条件を満たすためにクエリを実行し、SubmittedByListに結果を送信する必要があります。

WHERE ProfitCenterCode = <entry-ProfitCenterCode> 
     and FinancialAccountCode = <entry-FinancialAccountCode> 
     and FormName = <entry-FormName> 
関連する問題