Query: ottenere valore da un Max () su altra colonna

di il
3 risposte

Query: ottenere valore da un Max () su altra colonna

Ciao a tutti,
non riesco a trovare una soluzione per ottenere un determinato risultato con Access (e vorrei riuscirci )

Ho una seguente tabella, contenente dei gruppi di aziende, il loro settore di attività, e un valore per ciascun settore.

GRUPPO | SETTORE | IMPORTO
A | 01 | 100
A | 01 | 200
A | 04 | 300
B | 05 | 500
B | 04 | 400
B | 01 | 700
C | 01 | 200
C | 01 | 200
C | 05 | 300

Quello che vorrei ottenere, è una query che estragga, per ciascun GRUPPO, il SETTORE appartenente a quello con importo più alto.
Il risultato della tabella qui sopra, ad esempio dovrebbe essere così:

GRUPPO | SETTORE |
A | 04 |
B | 01 |
C | 05 |

Qualcuno mi può aiutare? non riesco a capire come strutturare una tale query, o quale altra soluzione adottare.

Grazie!

3 Risposte

  • Re: Query: ottenere valore da un Max () su altra colonna

    albertobarone ha scritto:


    ...
    Qualcuno mi può aiutare? non riesco a capire come strutturare una tale query, o quale altra soluzione adottare.
    Non puoi farlo con una query "semplice" ma devi avere una subquery che prima raggruppa per Gruppo (gioco di parole ma il campo si chiama così) e trova il Max di Importo, poi metti il relazione questa query con la stessa tabella, andando a prendere Settore, con gli altri due campi in join. Puoi avvalerti di due query distinte, per iniziare, poi cambiando adeguatamente la SQL riesci ad usarne una sola.
  • Re: Query: ottenere valore da un Max () su altra colonna

    Certo penso di aver capito cosa intenti! Mi viene in mente anche questa soluzione a due query (intanto distinte, meglio si):
    Query1: seleziona GRUPPO, IMPORTO, SETTORE riordinando per GRUPPO e IMPORTO descrescente
    Query2: Seleziona GRUPPO mettendolo in join con la Query1 per ottenere il SETTORE

    Potrebbe funzionare!
  • Re: Query: ottenere valore da un Max () su altra colonna

    albertobarone ha scritto:


    ...
    Potrebbe funzionare!
    La mia sì (l'ho fatta), la tua no, almeno come l'hai scritta. Ti serve almeno un TOP 1 nella query1 e nella seconda devi anche mettere in join importo, altrimenti come fa a prendere l'accoppiata Gruppo - Importo (anche se non visualizzato) giusto per trovare Settore?
Devi accedere o registrarti per scrivere nel forum
3 risposte