Una famiglia di sistemi di gestione per database relazionali di Microsoft progettati per semplificare l'uso.
Grazie Sandro.
Scrivendo la query:
SELECT Contatti.PersonaContattata, Contatti.Data, Contatti.TratConclusaCon, (SELECT COUNT(TratConclusaCon) FROM Contatti AS T1 WHERE T1.PersonaContattata=Contatti.PersonaContattata) AS cc
FROM Contatti
ORDER BY Contatti.PersonaContattata, Contatti.Data
riesco a contare il numero di trattative concluse per ogni cliente (personacontattata), mentre con
SELECT Contatti.PersonaContattata, Contatti.Data, Contatti.TratConclusaCon, (SELECT COUNT(Data) FROM Contatti AS T1 WHERE T1.PersonaContattata=Contatti.PersonaContattata) AS cc
FROM Contatti
ORDER BY Contatti.PersonaContattata, Contatti.Data
riesco a contare il numero di trattative complessivo (concluse con successo e non). Però così facendo non riesco a contare il numero di trattative effettuate tra una trattativa concluse e la successiva.
Seguendo i consigli di Giorgio Rancati nella discussione Conteggio condizionato dei record in una query.ho scritto queste due query:
SELECT C1.PersonaContattata, C1.Data, C1.TratConclusaCon, SUM(IIF(C2.TratConclusaCon>0,1,0)) AS Gruppo
FROM Contatti AS C1 LEFT JOIN Contatti AS C2 ON C1.Data>C2.Data
WHERE C1.PersonaContattata=C2.PersonaContattata
GROUP BY C1.PersonaContattata, C1.Data, C1.TratConclusaCon;
salvata come Q_GruppoTC, e
SELECT G.PersonaContattata, G.Data, G.TratConclusaCon, G.Gruppo, SUM(IIF(G.TratConclusaCon>0,1,0)) AS NCont
FROM q_GruppoTC AS G INNER JOIN q_GruppoTC AS G1 ON (G.Gruppo=G1.Gruppo) AND (G.Data>=G1.Data)
WHERE G.PersonaContattata=G1.PersonaContattata
GROUP BY G.PersonaContattata, G.Data, G.TratConclusaCon, G.Gruppo
ORDER BY G.PersonaContattata, G.Data;
Così facendo riesco a contare le occorrenze ma, essendoci C1.Data>C2.Data, il primo contatto di ogni persona non viene conteggiato... Al momento l'ho sistemato con una variabile NcontCorretta=Ncont+1 se Gruppo=0, ma perdo le persone con un solo contatto.
Avete idee diverse/migliori per ottenere questo risultato?
Grazie,
Raul