我有一个表格,其中包含多个用户创建的Profitcenter
和FinancialAccount
上的重叠条目。
我需要向Submitteby
列中的用户发送电子邮件,告知他们的重叠条目(说PC1
和CE1
有重叠记录,我应该发送电子邮件给abc
和deg
并显示电子邮件中的记录。
如何做到这一点?请帮忙。
以下是该表的快照。
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
答案 0 :(得分: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>