+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 4 su 4

Query ultimo valore.

  1. #1
    AndryFox non è in linea Novello
    Ciao,
    sto cercando di costruire una query che mi estragga da una tabella l'ultima riga per ogni macchina, ma ho difficoltà nell'ottenere il risultato.

    Chiamiamo la mia tabella TABELLA, mentre i campi interessati sono:
    CAMPOID - ID della riga
    CAMPOMACCHINA - Nome della maccchina
    CAMPOLAVORO - Numero del lavoro
    CAMPODATA - Data di scrittura (17-NOV-2017)
    CAMPOORA - campo di testo dell'ora di scrittura (08:00:00)

    Ho inizialmente provato ad utilizzare MAX(CAMPOID) ma mi restituisce più valori per ogni macchina.
    Seguendo anche altre istruzioni non mi tornano i dati che mi aspetto, es:

    select 
    T1.CAMPOMACCHINA,
    T1.CAMPOID,
    T1.CAMPODATA,
    T1.CAMPOORA,
    T1.CAMPOLAVORO
    FROM
    TABELLA T1,
    (SELECT MAX(CAMPOID) as maxid, CAMPOMACCHINA
    FROM  TABELLA
    GROUP BY CAMPOMACCHINA) maxresults
    WHERE
    T1.CAMPOMACCHINA = maxresults.CAMPOMACCHINA
    AND T1.CAMPOID = maxresults.maxid
    ORDER BY 
    T1.CAMPOMACCHINA;
    
    Qualcuno è in grado di dirmi se sbaglio qualcosa o di darmi qualche dritta a riguardo?

    Grazie
    Ultima modifica di AntonioG; 17-11-2017 11:37  Motivo: Tag CODE per il codice della query

  2. #2
    net-addiction non è in linea Scribacchino
    Ciao,
    scusami ma se fai:
     
    SELECT campomacchina, max(id) FROM TABELLA GROUP BY campomacchina
    
    Ti da il risultato soddisfacente? Fatto quello puoi fare una left join sulla stessa tabella per ottenere i campo che ti servono.
    ℹ️ Leggi di più su net-addiction ...

  3. #3
    AndryFox non è in linea Novello
    Scusate, risolto.

    Era un problema legato a dei filtri sbagliati.
    Se a qualcuno servisse, la formula è corretta e funzionale!

  4. #4
    AndryFox non è in linea Novello
    Quote Originariamente inviato da grimreaper Visualizza il messaggio
    Ciao,
    scusami ma se fai:
     
    SELECT campomacchina, max(id) FROM TABELLA GROUP BY campomacchina
    
    Ti da il risultato soddisfacente? Fatto quello puoi fare una left join sulla stessa tabella per ottenere i campo che ti servono.
    Ciao grimreaper,
    grazie per la risposta. Ho provato come mi hai detto, inizialmente solo con il max e il campo interessato funziona, mentre tramite left outer join mi restituisce tutto, indifferentemente dal filtro.

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Trovare ultimo valore
    Da carman56 nel forum Microsoft Excel
    Risposte: 1
    Ultimo Post: 25-01-2012, 23:16
  2. Valore predefinito ultimo record
    Da geomikele nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 22-01-2012, 07:34
  3. Risposte: 4
    Ultimo Post: 30-08-2011, 18:06
  4. Estrazione dell'ultimo valore non nullo in una query di Access
    Da potenzadelcontinuo nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 22-06-2011, 14:18
  5. [ACCESS] Query per recupero ultimo valore valido
    Da andromeda nel forum Microsoft Access
    Risposte: 1
    Ultimo Post: 29-09-2008, 14:15