Vous pouvez essayer quelque chose comme ça
DECLARE @TABLE TABLE(
agent VARCHAR(10),
status VARCHAR(10)
)
INSERT INTO @TABLE (agent,status) SELECT 'A','Mail Sent'
INSERT INTO @TABLE (agent,status) SELECT 'B','Fax Sent'
INSERT INTO @TABLE (agent,status) SELECT 'A','Fax Sent'
INSERT INTO @TABLE (agent,status) SELECT 'B','Mail Sent'
INSERT INTO @TABLE (agent,status) SELECT 'B','Mail Sent'
INSERT INTO @TABLE (agent,status) SELECT 'B','Fax Sent'
SELECT agent,
SUM(CASE WHEN status = 'Mail Sent' THEN 1 ELSE 0 END) Mail_Count ,
SUM(CASE WHEN status = 'Fax Sent' THEN 1 ELSE 0 END) Fax_Count
FROM @TABLE
GROUP BY agent
Comme cette réponse (mieux que ce que je tapais). Le design de base de la table n'est pas très lisse pour moi (il ne semble pas avoir une clé primaire, est dénormalisé comme un enfer), et devrait probablement être changé. – Romain