96 messaggi dal 05 maggio 2002
Ciao a tutti!
Vi espongo il mio problema:

Ho una tabella in Access con i seguente campi:

- Codice
- Cognome
- DataTelefonata
- EsitoTelefonata
- DataRichiamo

Questa tabella registra le telefonate di un piccolo call center.
Per ogni telefonata sono possibili vari esiti, che vanno inseriti nel campo EsitoTelefonta. Uno di questi esiti è "Richiamo".
Quando il cliente vuole essere richiamato, viene inserita anche la data e l'ora del richiamo.
Nel tempo uno stesso cliente viene chiamato più volte, e magari con più richiami.
Io ho la necessità di selezionare quei clienti che hanno come esito "Richiamo", ma che non sono stati ancora richiamati, quindi è come se dovessi selezionare un richiamo "puro".
Come posso impostare una query SQL che mi selezioni i record con i criteri sopra descritti (sempre che vi siano chiari...!!!)

Vi ringrazio

lo scoppato

lo scoppato:)
3.122 messaggi dal 16 maggio 2002
Veramente non mi è molto chiaro... che valori può assumere il campo "EsitoTelefonata"?

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
96 messaggi dal 05 maggio 2002
Il campo EsitoTelefonata puo' assumere i seguenti valori:

Richiamo
Appuntamento
Negativo
Non Risponde

la query che mi interessa deve selezionare quei record il cui campo EsitoTelefonata = "Richiamo", chiaramente insieme agli algtri criteri che ho spiegato prima.

Spero di averti risposto bene

lo scoppato:)
3.122 messaggi dal 16 maggio 2002
Cioè.. un cliente non è stato ancora richiamato se la data di richiamo è successiva alla data attuale, giusto?

SELECT *
FROM tabella
WHERE EsitoTelefonata = "Richiamo"
AND Now < DataRichiamo

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
96 messaggi dal 05 maggio 2002
la query che mi hai indicato seleziona tutti i richiami precedenti alla data corrente.
io vorrei che mi selezionasse quei clienti che sono da richiamare, il cui richiamo non è stoto effettuato: cioè dalla data del richiamo non deve essere presente nessuna telefonata a quel cliente.

lo scoppato:)
168 messaggi dal 29 agosto 2002
select *, esito
from tabella
where esito="richiama"
group by esito
3.122 messaggi dal 16 maggio 2002
scoppato ha scritto:
la query che mi hai indicato seleziona tutti i richiami precedenti alla data corrente.

No, sono quelli da effettuare in data successiva alla data corrente.

io vorrei che mi selezionasse quei clienti che sono da richiamare, il cui richiamo non è stoto effettuato: cioè dalla data del richiamo non deve essere presente nessuna telefonata a quel cliente.

Ok, ora ho capito. Proviamo così:

SELECT DISTINCT Cognome
FROM tabella t
WHERE T.EsitoTelefonata='Richiamo'
AND NOT EXISTS (
SELECT *
FROM tabella t1
WHERE t1.EsitoTelefonata<>'Richiamo'
AND t1.DataTelefonata>t.DataTelefonata
)

Prova e poi fammi sapere se funziona.

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
96 messaggi dal 05 maggio 2002
Sei un grnde Raynor!
Credo che da solo non ci sarei arrivato, bisogna mangiare SQL tutti i giorni per arrivare a una soluzione così!
Grazie 1000000000000000 volte

lo scoppato:)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.