Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [access] Raggruppare righe in base ad una colonna

    tabella4.jpg

    Salve a tutti, ho il seguente problema. Ho la tabella che ho riportato come screenshot sopra.

    Quello che vorrei ottenere è raggruppare i record che hanno lo stesso ID, in modo tale da ottenerne uno con tutti i campi valorizzati. Ho provato la seguente riga ma non va in esecuzione la query

    codice:
     SELECT completa.ID, completa.NOME, completa.COGNOME, completa.ID_Indirizzi, completa.INDIRIZZO, completa.CITTA, completa.ID_Professioni, completa.Azienda, completa.mansione FROM completa group by ID;
    Come posso ridolvere? Grazie.
    Ultima modifica di 19pantarei75; 11-09-2014 a 14:12

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    prova con max()

    SELECT completa
    .ID, max(completa.NOME), max(completa.COGNOME), max(completa.ID_Indirizzi), max(completa.INDIRIZZO), max(completa.CITTA), max(completa.ID_Professioni), max(completa.Azienda), max(completa.mansione) FROM completa group by ID;

    sarebbe meglio anche assegnare un alias a ciascun campo
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    intanto grazie per avere risposto. Ho modificato la query cosi
    codice:
    SELECT max(completa.ID)as id, max(completa.NOME)as n, max(completa.COGNOME)as c, max(completa.INDIRIZZO)as i, max(completa.CITTA)as cit, max(completa.Azienda)as a, max(completa.mansione)as m
    FROM completa;
    ma mi dà in output un solo record i cui campi sono popolati a casaccio.

    Quello che vorrei ottenere io è raggruppare tutti i record che hanno id uguale in un solo record, in modo tale che tutti i campi di quest'ultimo risultino popolati.

    dallo screenshot ad esempio:
    codice:
    ID   Nome        Cognome        Indirizzo          Citta            Azienda       mansione
    
    1    Pippo              Baudo             Via Poma        Torino         job s.r.l.      Operaio
    2    Giuseppe    Garibaldi         Via Cerza        Roma         Listen             Impegato
    come posso realizzare un query del genere?

  4. #4
    Il mio problema è come faccio da n record di una stessa tabella, aventi lo stesso valore in un campo (id), a riempire uno solo di questi record completandolo con i valori dei campi che in maniera alternata sono valorizzati negli n record. (vedi immagine nello screenshot)

    Spero di essere stato chiaro

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Quote Originariamente inviata da 19pantarei75 Visualizza il messaggio
    Spero di essere stato chiaro
    La risposta di br1 invece non lo era?
    Ti ha pure evidenziato il group by, perché non ce n'è traccia nella tua query?

  6. #6
    Quote Originariamente inviata da luca200 Visualizza il messaggio
    La risposta di br1 invece non lo era?
    Ti ha pure evidenziato il group by, perché non ce n'è traccia nella tua query?

    Avete ragione

    codice:
    SELECT max(completa.ID)as id, max(completa.NOME)as n, max(completa.COGNOME)as c, max(completa.INDIRIZZO)as i, max(completa.CITTA)as cit, max(completa.Azienda)as a, max(completa.mansione)as m
    FROM completa group by ID;
    Funge!
    Grazie ragazzi.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.