Query che restituisce data massima su raggruppamento

di il
7 risposte

Query che restituisce data massima su raggruppamento

Buongiorno ragazzi! Ho un problemuccio con una query che non sono in grado di fare nonostante abbia provato e riprovato ormai da tempo. Chiedo a qualcuno che mi dica il procedimento passo passo date le mie limitate conoscenze ohimè...
Il problema è questo:
(vedi immagini database allegato non riesco a caricare il .accdb)
Nella tabella "assegnazioni" ci sono 475 record. La colonna "n°" può riportare lo stesso numero più volte ed è relazionato alla tabella "zona" che contiene 145 record univoci (1, 2, 3, 10, 20, ecc.). Di conseguenza nella tabella "assegnazioni" ho dei gruppi di record aventi lo stesso valore "n°".
Vorrei estrarre da ognuno di questi gruppi un solo record che ha la data in "data in" più recente.
Come posso fare?
Grazie in anticipo a chi mi aiuterà.
Allegati:
10800_569375a2e2bf116969c3033dce63cee9.png
10800_569375a2e2bf116969c3033dce63cee9.png

10800_0cf57ee3d8cc0a2b4a394b30c01e8ee5.png
10800_0cf57ee3d8cc0a2b4a394b30c01e8ee5.png

7 Risposte

  • Re: Query che restituisce data massima su raggruppamento

    sbambucia ha scritto:


    Ho un problemuccio con una query che non sono in grado di fare nonostante abbia provato e riprovato ormai da tempo.
    ...
    Nella tabella "assegnazioni" ci sono 475 record. La colonna "n°" può riportare lo stesso numero più volte ed è relazionato alla tabella "zona" che contiene 145 record univoci (1, 2, 3, 10, 20, ecc.). Di conseguenza nella tabella "assegnazioni" ho dei gruppi di record aventi lo stesso valore "n°".
    Vorrei estrarre da ognuno di questi gruppi un solo record che ha la data in "data in" più recente.
    Mmmm... non so cosa hai provato e riprovato per così tanto tempo e che non ti ha dato risultati...
    E' una query con raggruppamento. Da QBE crea una query dalla tabella Assegnazioni, attivi le funzioni dei Totali con il pulsante della sommatoria. In corrispondenza della campo [N°] lasci Raggruppamento, nella campo [data in] selezioni Max. Salva questa query come Query1
    Crea un'altra query dove usi ancora una volta la tabella Assegnazioni e la query appena creata, Query1. Metti in relazione i campi corrispondenti e fine.
    Si può fare anche con una sola query che prevede l'uso di una sottoquery ma dovresti farlo direttamente in SQL e... forse è troppo presto?
  • Re: Query che restituisce data massima su raggruppamento

    Grazie sto provando a seguire il tuo consiglio... Quello che hai detto nella prima parte della risposta lo avevo già fatto, solo che aggiungendo nella query anche altri campi della tabella assegnazioni (che in automatico prendevano la formula raggruppamento) mi faceva casino e non restituiva i record che volevo. Una seconda query è quindi necessaria per superare questo problema? Che relazione dovrei creare secondo te nella seconda query?
  • Re: Query che restituisce data massima su raggruppamento

    sbambucia ha scritto:


    Grazie sto provando a seguire il tuo consiglio... Quello che hai detto nella prima parte della risposta lo avevo già fatto, solo che aggiungendo nella query anche altri campi della tabella assegnazioni (che in automatico prendevano la formula raggruppamento) mi faceva casino e non restituiva i record che volevo. Una seconda query è quindi necessaria per superare questo problema?
    Esatto: la prima serve per cercare solo nei due campi, la seconda per prendere tutti i campi da Assegnazione che hanno N° e [data in] corrispondenti con N° e [Data In] della prima query.

    sbambucia ha scritto:


    Che relazione dovrei creare secondo te nella seconda query?
    una relazione normale (INNER JOIN). Prova e vedi.
  • Re: Query che restituisce data massima su raggruppamento

    Non riesco a creare una relazione così banale ma è possibile?
    Nella seconda query uso Assegnazioni e query 1 ma come scelgo campi ulteriori da mostrare mi fa casino! Maremma!!! Sto andando di fuori
  • Re: Query che restituisce data massima su raggruppamento

    A parte la mia esternazione comunque volevo ringraziarti per il consiglio.
  • Re: Query che restituisce data massima su raggruppamento

    sbambucia ha scritto:


    Non riesco a creare una relazione così banale ma è possibile?
    Magari perché bisogna trascinare il campo [N°] di Assegnazione sul corrispondente campo della Query1 e la stessa cosa per [Data In] su [MaxDiData In], poi nella parte inferiore metti i campi di [Assegnazione] che ti interessano.
  • Re: Query che restituisce data massima su raggruppamento

    Grazie mille!!!! Mi hai risolto un problema che per me era grande... Non sapevo che esistesse la possibilità di mettere relazioni tra tabelle anche nelle query, pensavo si potesse fare solo nella sezione "relazioni" degli strumenti database.
    Grazie ancora...
Devi accedere o registrarti per scrivere nel forum
7 risposte