Newsgroup: it.comp.appl.access
Titolo: Stilare una classifica...

Ciao a tutti.
Sto realizzando un db in cui devo stilare una classifica scuderie.
Per trovare i primi tre classificati sto usando più query con SQL:
- Per trovare il primo classificato uso la query "Classifica Team -- Primo
classificato":
   SELECT TOP 1 [Classifica Team].Team, [Classifica Team].[Somma Di Punti]
   FROM [Classifica Team];
- Per trovare il secondo classificato uso due query:
  - nella prima "Classifica Team -- Secondo classificato1":
    SELECT TOP 2 [Classifica Team].Team, [Classifica Team].[Somma Di Punti]
    FROM [Classifica Team];
  - nella seconda "Classifica Team -- Secondo classificato":
    SELECT TOP 1 [Classifica Team -- Secondo classificato1].Team,
[Classifica Team -- Secondo classificato1].[Somma Di Punti]
    FROM [Classifica Team -- Secondo classificato1]
    ORDER BY [Classifica Team -- Secondo classificato1].[Somma Di Punti];
- Per trovare il terzo classificato procedo come nella precedente:
  - nella prima "Classifica Team -- Terzo classificato1":
    SELECT TOP 3 [Classifica Team].Team, [Classifica Team].[Somma Di Punti]
    FROM [Classifica Team];
  - nella seconda "Classifica Team -- Terzo classificato":
    SELECT TOP 1 [Classifica Team -- Terzo classificato1].Team, [Classifica
Team -- Terzo classificato1].[Somma Di Punti]
    FROM [Classifica Team -- Terzo classificato1]
    ORDER BY [Classifica Team -- Terzo classificato1].[Somma Di Punti];
Tutto sembrerebbe funzionare ma incontro un problema.... se ci sono due
squadre che hanno gli stessi punti in terza posizione la query, in questo
modo, mi restituisce un solo valore.
Come posso fare in modo che mi restituisca i primi tre classificati compresi
quelli a pari punti?
Spero di essere stato chiaro....
Anticipatamente grazie,
Fabio.

 quelli a pari punti?
e' gia' cosi'.
solo che non hai impostato correttamente la query.
devi mettere il campo [Somma di Punti] all'estrema sinistra (come primo
campo) e ordinare in senso decrescente secondo quel campo.
(era tutto spiegato nell'help)
Sib

"Sib" <si...@SPAMiol.it> ha scritto nel messaggio
news:WFGya.213361$K35.5...@news2.tin.it...

Grazie, innanzitutto, per la risposta.
Ho fatto come mi hai suggerito ma c'è un problema....
Poniamo il caso che ci siano la Ferrari e la McLaren a 60 punti, la Williams
e la Renault a 50 punti.
Il risultato della query è che il primo classificato è a pari merito Ferrari
e McLaren, 2° classificato a pari merito Ferrari e McLaren (!) e terzo
classificato a pari merito Williams e Reanult.
E' chiaro che se il primo classificato è Ferrari e McLaren al secondo, la
query dovrebbe rispondere con Williams e Renault....
Altri suggerimenti?
Grazie ancora,
Fabio

 Altri suggerimenti?
Non e' che ci si capisca molto.
Comunque faccio finta di aver capito e ti rispondo cosi':
il tuo e' un errore di fondo.
Mettiamo di avere questa classifica:
Paperino 10
Pippo 10
Pluto 6
Topolino 5
in questo caso la corretta interpretazione e':
Paperino e pippo primi a pari merito a 10 punti
Pluto TERZO a 6 punti
la query restituisce correttamente 3 occorrenze:
Paperino 10
Pippo 10
Pluto 6
Sib

"Sib" <si...@SPAMiol.it> ha scritto nel messaggio
news:oPKya.215454$K35.5...@news2.tin.it...

Le query, prendendo il tuo esempio, rispondono così:
Paperino e Pippo primi con 10
Paperino e Pippo secondi con 10
Pluto terzo con 6.
Ciò che avrei gradito era invece che rispondessero in quest'altro modo:
Paperino e Pippo primi con 10
Pluto secondo con 6
Nonna_Papera terza con 2!
Se ti venisse qualche idea....
Ancora grazie,
Fabio.

 Fabio.
Access a parte, Paperino e Pippo sono primi, Pluto è terzo (e non secondo) e
Nonna_Papera è quarta (e non terza).
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


OK! Allora.... come si fa a fare in modo che il secondo posto sia vuoto?


Non capisco la sintassi che usi. posta la tua query
Sib


Ciao a tutti.
Sto realizzando un db in cui devo stilare una classifica scuderie.
Per trovare i primi tre classificati sto usando piů query con SQL:
- Per trovare il primo classificato uso la query "Classifica Team -- Primo
classificato":
  SELECT TOP 1 [Classifica Team].[Somma Di Punti], [Classifica Team].Team
  FROM [Classifica Team]
  ORDER BY [Classifica Team].[Somma Di Punti] DESC;
- Per trovare il secondo classificato uso due query:
  - nella prima "Classifica Team -- Secondo classificato1":
    SELECT TOP 2 [Classifica Team].[Somma Di Punti], [Classifica Team].Team
    FROM [Classifica Team]
    ORDER BY [Classifica Team].[Somma Di Punti] DESC;
  - nella seconda "Classifica Team -- Secondo classificato":
    SELECT TOP 1 [Classifica Team -- Secondo classificato1].Team,
[Classifica Team -- Secondo classificato1].[Somma Di Punti]
    FROM [Classifica Team -- Secondo classificato1]
    ORDER BY [Classifica Team -- Secondo classificato1].[Somma Di Punti];
- Per trovare il terzo classificato procedo come nella precedente:
  - nella prima "Classifica Team -- Terzo classificato1":
    SELECT TOP 3 [Classifica Team].[Somma Di Punti], [Classifica Team].Team
    FROM [Classifica Team]
    ORDER BY [Classifica Team].[Somma Di Punti] DESC;
  - nella seconda "Classifica Team -- Terzo classificato":
    SELECT TOP 1 [Classifica Team -- Terzo classificato1].Team, [Classifica
Team -- Terzo classificato1].[Somma Di Punti]
    FROM [Classifica Team -- Terzo classificato1]
    ORDER BY [Classifica Team -- Terzo classificato1].[Somma Di Punti];
Mettiamo di avere questa classifica:
Paperino 10
Pippo 10
Pluto 6
Topolino 5
Le query in questo caso rispondono cosě
Paperino e Pippo primi con 10
Paperino e Pippo secondi con 10
Pluto terzo con 6
Quello che vorrei č che se Paperino e Pippo sono primi e Pluto terzo al
secondo posto non dovrebbero ricomparire Paperino e Pippo ma risultare
vuoto.
Anticipatamente grazie,
Fabio

 vuoto.
Allora,
alla seconda query aggiungine una terza fatta cosi':
SELECT [Classifica Team -- Secondo classificato].[Somma Di Punti],
[Classifica Team -- Secondo classificato].Team
FROM [Classifica Team -- Secondo classificato]
WHERE ((([Classifica Team -- Secondo classificato].Team) Not In (select Team
from [Classifica Team -- Primo classificato])));
e analogamente le successive.
Sib

Caro maestro....
.....GRAAAAAAAZIIIIIIIIIEEEEEEEEEEE!!!!!!!
Funziona!
Saluti
Fabio