salve a tutti,
ci sto sbattendo un pò la testa, ma non riesco ad arrivare ad una soluzione "ottimizzata e veloce" ...
Ho una tabella cosi strutturata
ID | Numero_tel |
1 0256565665
2 0215151212
3 0685181818
4 0818484848
5 0256565665
Come vedere l'ID 1 e ID 5 hanno lo stesso numero di telefono.
Poi un'altra tabella:
ID | Numero_tel | Esito
1 0256565665 N
2 0215151212 S
3 0685181818 S
4 0818484848 S
5 0256565665 N
La mia query dovrebbe prendere distintamente (quindi senza doppioni) tutti i numeri di telefono ...e quindi faccio SELECT DISTINCT(Numero_tel) FROM Tabella1
Poi controllare nella tabella2 l'esito ...ovvero:
- Se nella tabella "esiti" quel numero ha avuto esito N almeno 2 volte, allora fai delle operazioni (Via ASP, una cancellazione dalla TAB1) ...altrimenti non fa nulla.
Questo script è solo un controllo per andare a verificare l'esistenza di numeri di telefono, e quindi se l'esito della chiamata è S ...il numero è esatto. Purtroppo nella TAB1 ho vari nominativi con lo stesso numero (non ci posso far nulla e deve essere così)...e nella tabella2 l'esito può essere S o N sullo stesso numero (per operazioni di immissione errate, o altro) ...in ogni caso a me servirebbe che l'esito si N almeno 2 volte ..per procedere alla cancellazione da Tabella1.
Attualmente ho operato con 2 recordset ovvero:
SELECT DISTINCT(Numero_tel) FROM Tabella1
While not questo_rs.eof
SELECT FROM TABELLA2 WHERE Numero_tel='questo_rs("numero_tel") AND esito ='N'
if recordcount => 2 then
'operazioni
end if
quest_rs.movenext
wend ..
...bene (ovviamente ho abbreviato e di molto la parte ASP), funziona, ma su 9000 records ci mette 3 minuti a caricare su un mio server dedicato
...e questo credo non sia cosa buona e giusta
...chi mi da na mano ?
Grazie in anticipo.