0
我有3個表,即客戶,應用程序,代理。都爲3代表的結構和樣本數據如下SQL組通過逗號和句點連接字符串
Customer
==========
PKCustomerID | CustomerName
1 | Test Customer1
2 | Test Customer 2
Application
============
PKApplicationID | ApplicationTitle | FKCustomerID
1 | TestApplication1 | 1
2 | TestApplication2 | 1
3 | Test Application3 | 1
Agent
======
PKAgentID | AgentName | FKApplicationID | ComparableCode<br>
1 | AgentName 1 | 1 | AgentCode1
2 | AgentName 2 | 1 | AgentCode1
3 | AgentName 3 | 2 | AgentCode2
現在我需要一個結果是像對於給定的客戶ID
ComparableCode | ApplicationNamer.AgentName | ApplicationCount
AgentCode1 | TestApplication1.AgentName1,TestApplication1.AgentName2 | 2
我寫下面的代碼
SELECT ComparableCode, AgentName =
STUFF((SELECT ', ' + AgentName
FROM LNAgent b
WHERE b.ComparableCode = a.ComparableCode
FOR XML PATH('')), 1, 2, ''), COUNT(PKAgentID) [Application Count]
FROM LNAgent a
JOIN LNApplication app
ON app.PKApplicationID = a.FKApplicationID
JOIN LNCustomer cust on
cust.PKCustomerID = app.fkCustomerID
GROUP BY ComparableCode
ORDER BY [Application Count] DESC
以上查詢給我以下結果集
ComparableCode | ApplicationNamer.AgentName | AplicationCount
AgentCode1 | AgentName1, AgentName 2 | 2
我無法將ApplicationName包含在ApplicationName.AgentName列中。
請幫助