Access 2007 - Query per ricerca di dati duplicati (più valori uguali) nello stesso campo

Anonimo
2014-03-13T10:01:26+00:00

Salve a tutti,

ho un problema con una query (sbagliata) che non soddisfa il criterio impostato.

Due atleti in gara, per la stessa categoria, riportano lo stesso identico punteggio (43,8). Nonostante io abbia creato la query, con l'auto composizione di Access 2007, "Trova duplicati per gara bis", il db esegue una ricerca MASSIVA, restituendo tutti i valori duplicati per ogni entità di grandezza.

Quando vado a raffinarla per chiedere SOLO la restituzione degli atleti di quella categoria e SOLO per quella data, il DB non "ISOLA" solo i due atleti con punteggio Ex Aequo ma restituisce tutti gli atleti in gara, per quella categoria (nr 8 rec).

Per essere pratici, come faccio a farmi restituire SOLO i due atleti Ex Aequo della gara del 09/03/2015 nella categoria A05?

QUESTO E' IL LINGUAGGIO SQL UTILIZATO:

SELECT Gara.[TOTALE GEN], Gara.Data, Gara.Atleta, Gara.****, Gara.Cat, Gara.Eta, Gara.Categ, Gara.Cintura FROM Gara WHERE (((Gara.[TOTALE GEN]) In (SELECT [TOTALE GEN] FROM [Gara] As Tmp GROUP BY [TOTALE GEN] HAVING Count(*)1 )) AND ((Gara.Data)=#3/9/2014#) AND ((Gara.Cat)="a05")) ORDER BY Gara.[TOTALE GEN];

QUESTO E' IL RISULTATO: Trova duplicati per Gara bis

0 	09/03/2014 	XXXX 	F 	A05 	06-08 	BAMBINI 	GIALLA  


0 	09/03/2014 	XXXX 	F 	A05 	06-08 	BAMBINI 	GIALLA  


0 	09/03/2014 	XXXX 	M 	A05 	06-08 	BAMBINI 	GIALLA  


43,6 	09/03/2014 	XXXX 	F 	A05 	06-08 	BAMBINI 	GIALLA  


43,8 	09/03/2014 	XXXX 	M 	A05 	06-08 	BAMBINI 	GIALLA  


43,8 	09/03/2014 	XXXX 	M 	A05 	06-08 	BAMBINI 	GIALLA  


44,3 	09/03/2014 	XXXX 	M 	A05 	06-08 	BAMBINI 	GIALLA  


45,4 	09/03/2014 	XXXX 	M 	A05 	06-08 	BAMBINI 	GIALLA    

Come posso fare per risolvere il risultato?

GRAZIE in anticipo a tutti coloro che potranno aiutarmi.

Zackys

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2014-03-14T21:08:05+00:00

Ciao,

prova con la seguente query:

SELECT Gara.[TOTALE GEN], Gara.Data, Gara.Atleta, Gara.Cat, Gara.Eta, Gara.Categ, Gara.Cintura

FROM Gara

WHERE (((Gara.[TOTALE GEN]) In (SELECT Gara1.[TOTALE GEN] FROM Gara AS Gara1 WHERE Gara1.Data=#3/9/2014# AND Gara1.Cat="a05" GROUP BY Gara1.[TOTALE GEN] HAVING Count(*)>1)) AND ((Gara.Data)=#3/9/2014#) AND ((Gara.Cat)="a05"))

ORDER BY Gara.[TOTALE GEN];

Ciao Mimmo

La risposta è stata utile?

0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-03-29T12:26:37+00:00

    Scusami Cinzia ma sono un neofita e non sono ancora molto pratico. 

    Farò così la prossima volta.

    Grazie per il consiglio 

    :)

    Zackys

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-03-14T14:49:35+00:00

    Ciao Zackis,

    per favore non aprire più thread sullo stesso argomento.

    Giorgio ti ha già chiesto di dirci almeno la struttura delle tue tabelle, e di darci un esempio dei dati contenuti, possibilmente condividi su OneDrive il tuo Database così ci è sicuramente più semplice rispondere alla tua domanda.

    Partendo solo dalla query che non fa quello che dovrebbe è difficile aiutarti!

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-03-14T14:06:37+00:00

    Salve a tutti, ho un problema con una query (sbagliata) che non soddisfa il criterio impostato.

    Due atleti in gara, per la stessa categoria, riportano lo stesso identico punteggio (43,8). Nonostante io abbia creato la query, con l'auto composizione di Access 2007, "Trova duplicati per gara bis", il db esegue una ricerca MASSIVA, restituendo tutti i valori duplicati per ogni entità di grandezza.

    Quando vado a raffinarla per chiedere SOLO la restituzione degli atleti di quella categoria e SOLO per quella data, il DB non "ISOLA" solo i due atleti con punteggio Ex Aequo ma restituisce tutti gli atleti in gara, per quella categoria (nr 8 rec). 

    Per essere pratici, come faccio a farmi restituire SOLO i due atleti Ex Aequo della gara del 09/03/2015 nella categoria A05 (per esempio)?

    QUESTO E' IL LINGUAGGIO SQL UTILIZATO:

    SELECT Gara.[TOTALE GEN], Gara.Data, Gara.Atleta, Gara.****, Gara.Cat, Gara.Eta, Gara.Categ, Gara.Cintura FROM Gara WHERE (((Gara.[TOTALE GEN]) In (SELECT [TOTALE GEN] FROM [Gara] As Tmp GROUP BY [TOTALE GEN] HAVING Count(*)1 )) AND ((Gara.Data)=#3/9/2014#) AND ((Gara.Cat)="a05")) ORDER BY Gara.[TOTALE GEN];

    GRAZIE in anticipo

    Zackys

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2014-03-13T10:27:52+00:00

    Ciao Zackys,

     Credo che con il solo linguaggio sql di una query sbagliata e il risultato sbagliato reso da essa sia difficile dare una risposta.

    In genere si mostrano i dati a disposizione, il risultato che si vuole ottenere e una descrizione del problema, se la cosa è complessa conviene che metti il db con qualche dato significativo per la riproduzione del problema su http://www.skydrive.com

    Ciao

    Giorgio Rancati

    La risposta è stata utile?

    0 commenti Nessun commento