Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1
    Utente bannato
    Registrato dal
    Nov 2007
    residenza
    Acicatena (Catania)
    Messaggi
    1,854

    [MySQL] Unire due tabelle esistenti in una nuova

    Salve a tutti,
    avrei la necessità di unire due tabelle:

    tabella_1
    tabella_2


    in una nuova

    tabella_new


    è possibile fare questa operazione tramite PHPMyAdmin?

    Su tabella_new vorrei inserire una nuova colonna "id_category" che mi permetta di distinguere i dati provenienti da tabella_1 e tabella_2.

    Chiedo così da conoscere anche questa funzione ed evitare di scrivere del codice in PHP.

    Grazie.

  2. #2
    la struttura delle due tabelle è la stessa? se sì puoi fare

    SELECT * INTO tabella_new FROM
    (SELECT '1' AS id_category, * FROM tabella_1
    UNION ALL
    SELECT '2' AS id_category, * FROM tabella_2)

    altrimenti devi giocare con le SELECT delle tabelle di origine per ottenere la stessa struttura in uscita

  3. #3
    Utente bannato
    Registrato dal
    Nov 2007
    residenza
    Acicatena (Catania)
    Messaggi
    1,854
    Si si, la tabella è la stessa.

    Le due tabelle hanno un id autoincrement, questo non potrebbe causare degli errori?

    Cioè la query cercherò di inserire in tabella_new un ID presente sia in tabella_1 che in tabella_2?

  4. #4
    Quote Originariamente inviata da Felino Visualizza il messaggio
    Si si, la tabella è la stessa.

    Le due tabelle hanno un id autoincrement, questo non potrebbe causare degli errori?

    Cioè la query cercherò di inserire in tabella_new un ID presente sia in tabella_1 che in tabella_2?
    invece di inserire * di tabella1 e * di tabella2, inserisci manualmente tutti i campi tranne l'id.

    poi l'id, se auto_increment su tabella_new verra ricalcolato automaticamente.
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  5. #5
    Utente bannato
    Registrato dal
    Nov 2007
    residenza
    Acicatena (Catania)
    Messaggi
    1,854
    Volevo evitare ciò visto che si tratta di un bel numero di colonne!

    Grazie.

  6. #6
    Quote Originariamente inviata da Felino Visualizza il messaggio
    Volevo evitare ciò visto che si tratta di un bel numero di colonne!

    Grazie.
    mi rendo conto che puo essere un po gravoso.

    Ma e' una lavoro da fare una volta sola, si puo fare
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  7. #7
    Utente bannato
    Registrato dal
    Nov 2007
    residenza
    Acicatena (Catania)
    Messaggi
    1,854
    Sicuramente, ma visto che in questo progetto dovrò farlo per più tabelle chiedevo se esistesse un sistema automatizzato.

  8. #8
    Prova così :

    SELECT NULL AS id_category, (


    SELECT *
    FROM tabella_1
    NATURAL JOIN tabella_2
    ) AS tab1
    FROM tab1

  9. #9
    Utente bannato
    Registrato dal
    Nov 2007
    residenza
    Acicatena (Catania)
    Messaggi
    1,854
    Quote Originariamente inviata da nedev Visualizza il messaggio
    Prova così :

    SELECT NULL AS id_category, (


    SELECT *
    FROM tabella_1
    NATURAL JOIN tabella_2
    ) AS tab1
    FROM tab1
    La tua query cosa fa? Si trattasolo di una select, senza insert.
    Dove indico tabella_new?

  10. #10
    per me puoi fare tranquillamente una select *, la tabella_new sarà così

    id_nuovo <_ id auto incrementante, autonomo rispetto alle tabelle importate
    id_category <- 1 o 2 in base alla tabella importata
    id_vecchio <- l'id delle tabelle importate, ti servirà come referenza
    ... seguono le altre colonne


Tag per questa discussione

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.