Estrazione da una tabella

di il
5 risposte

Estrazione da una tabella

Cari tutti, forse faccio la figura del pivello ma mi sto sicuramente perdendo in un bicchier d'acqua.
Cerco una soluzione più che altro di logica che di tecnica:

Ho una tabella in cui nel campo "nome" ho nominativi che si ripetono tante volte.
Al fianco del nome, un altro campo chiamato "giorno" in cui è inserita la data di un movimento a magazzino.
La data ovviamente è sempre diversa.
Il mio problema è quello di avere un elenco in cui sono presenti tutti i nomi una sola volta ma con la data a fianco del movimento fatto più recente.
Qual'è secondo voi la via più giusta per il risultato?
salve
antonio cuomo

5 Risposte

  • Re: Estrazione da una tabella

    antocuomo ha scritto:


    ...Il mio problema è quello di avere un elenco in cui sono presenti tutti i nomi una sola volta ma con la data a fianco del movimento fatto più recente.
    Qual'è secondo voi la via più giusta per il risultato?...
    Una query con raggruppamento per il campo "nome" e Max sul campo data. Effettivamente sembra che ti sia perso in un biccher d'acqua... sarà la mia natura ma temo che sotto ci sia dell'altro che rende l'operazione più difficile di quello che è, per motivi per ora sconosciuti.
  • Re: Estrazione da una tabella

    È un pochino in dialetto DB2, ma la puoi adattare

    SELECT * FROM tabella A
    WHERE A.nome IN (SELECT DISTINCT(A.nome) FROM tabella)
    AND
    A.data = (SELECT MAX (data) FROM tabella B
    WHERE A.nome = B.nome)
    ORDER BY A.nome asc
  • Re: Estrazione da una tabella

    Ragazzi, siete stati dolci. ero proprio off dopo diversi mesi di mancata programmazione.
    mi sono ripreso un pò. grazie
    tutto ok.
    ciao
  • Re: Estrazione da una tabella

    antocuomo ha scritto:


    Ragazzi, siete stati dolci....
    Dopo un rigraziamento di questo "sapore"... io non rispondo più!
  • Re: Estrazione da una tabella

    Più elegante

    SELECT * FROM tabella A
    WHERE A.data = (SELECT MAX (B.data) FROM tabella B WHERE A.nome = B.nome)
Devi accedere o registrarti per scrivere nel forum
5 risposte