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

Query ultimo valore.

  1. #1
    AndryFox non è in linea Novello
    Post
    36
    Like Inviati  
    0
    Like Ricevuti  
    0
    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 Scolaretto
    Post
    479
    Like Inviati  
    0
    Like Ricevuti  
    0
    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
    Post
    36
    Like Inviati  
    0
    Like Ricevuti  
    0
    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
    Post
    36
    Like Inviati  
    0
    Like Ricevuti  
    0
    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