Risultati da 1 a 5 di 5

Discussione: Copiare i record da una tabella ad un'alta.

  1. #1
    Gregorio è offline Nuovo Iscritto
    Data Registrazione
    Nov 2011
    Messaggi
    3

    Copiare i record da una tabella ad un'alta.

    Salve.
    Chiedo aiuto nel risolvere un piccolo problema con le tabelle di Access.
    Ho una tabella contenente un campo in cui vi sono circa 7000 record, molti dei quali duplicati. Mi servirebbe creare da questa una nuova tabella che contenga solo una ricorrenza per ciascun record duplicato.
    Non sono sicuro di aver esposto bene il problema, provo a spiegarmi con un esempio: La tabella di origine contiene il campo “Campo1” al suo interno trovo i seguenti records “Alfa; Alfa; Beta; Beta; Beta;…; Delta; Omega; Omega” la nuova tabella deve contenere un campo con i soli record “Alfa; Beta; Delta; Omega” senza ripetizioni, la tabella di partenza non deve essere eliminata.
    Grazie, Gregorio.
    Ultima modifica di Gregorio; 29-11-2011 alle 15:55

  2. #2
    L'avatar di borgo italia
    borgo italia è online Super Moderatore
    Data Registrazione
    Feb 2008
    Località
    PR
    Messaggi
    11,208
    ciao
    vedo che è il tuo primo post: benvenuto nel forum
    intanto non confondere i record con i campi.
    è il record che è composto di campi, non viceserva.
    comunque se usi php (se asp traducilo) e se hai per esempio la tabella_originale
    id campo1
    1 pinco
    2 pallo
    3 pinco
    4 sempronio
    5 pinco
    6 sempronio
    ecc...
    usando il group by riduci i campi uguali ad un valore solo
    ti crei la tabella_taget poi
    Codice PHP:
    <?php
    //dati di connessione al database
    //ti costruisci la querystringa per la selezione
    $q="SELECT * FROM tabella_originale GROUP BY campo1 ORDER BY id";
    //fai la query
    $ris=mysql_query($q);
    //estrai i vari campi estraendo i vari record
    while($riga=mysql_fetch_array($ris)){
        
    $campo=$riga['campo1'];
        
    // ti costruisci la querystringa di inserimento
        
    $q_ins="INSERT INTO tabella_target(campo1) VALUES('$campo')";
        
    //e fai la query
        
    $ris_ins=mysql_query($q_ins);
    }
    ?>
    alla fine dell'ambaradan ti ritrovi la tabella_target con
    id campo1
    1 pinco
    2 pallo
    3 sempronio
    ecc...
    più la tabella_origine come se non l'avessi toccata

  3. #3
    Gregorio è offline Nuovo Iscritto
    Data Registrazione
    Nov 2011
    Messaggi
    3
    Grazie del benvenuto nel Forum.
    Grazie anche della risposta, ma non uso ne php ne l'asp. Ti dico di più non so dove dovrei inserire il codice che hai inviato.
    Non voglio essere invadente nella richiesta, ma riusciresti a guidarmi passo passo, se possibile.
    Gregorio.

  4. #4
    L'avatar di borgo italia
    borgo italia è online Super Moderatore
    Data Registrazione
    Feb 2008
    Località
    PR
    Messaggi
    11,208
    ciao
    no non sei invadente, ma c'è un piccolo ma
    usy mysql? e se si quale linguaggio.
    perchè se usi mywql+php posso darti una mano, altrimenti devi sperare che qualcun altro risponda.
    comunque specifica che db ed eventuale linguaggio stai usando

  5. #5
    Gregorio è offline Nuovo Iscritto
    Data Registrazione
    Nov 2011
    Messaggi
    3
    Ancora grazie per la gentilezza.
    Uso solo un Database creato con Access, al suo interno vi e una delle tabella principale e altre tabelle in relazione fra loro, un paio di query mi permettono di cercare le informazioni che mi servono. Nessun linguaggio di programmazione.
    Il tutto fatto in modo molto casalingo.
    Gregorio.

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •