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

    [MySql] Insert into da select altra tabella

    Buon pomeriggio.
    Ho questo script
    INSERT INTO tb_visite_02022024(SELECT * FROM tb_visite_appoggio)

    Purtroppo all'interno delle due tabelle c'è un campo "codice", dove nella tb_visite_02022024 potrebbero esserci dei codici, presenti in tb_visite_appoggio.
    Vorrei fare in modo che, tutti i record di appoggio presenti in 02022024 venissero scartati, per non avere dati duplicati in 02022024.

    E' la prima volta che mi imbatto in questa problematica.
    Come posso fare?
    Grazie mille.

  2. #2
    nella select aggiungi una ...WHERE codice not in (select codice from prima tabella)

    magari riesci anche con una JOIN

  3. #3
    con la JOIN qualcosa del tipo
    codice:
    SELECT *
    FROM tb_visite_appoggio TVA
    LEFT JOIN tb_visite TV ON TVA.codice = TV.codice
    WHERE TV.codice IS NULL

  4. #4
    Quote Originariamente inviata da optime Visualizza il messaggio
    nella select aggiungi una ...WHERE codice not in (select codice from prima tabella)

    magari riesci anche con una JOIN
    ti ringrazio questo funziona.

    ma volevo chiederti, si possono escludere dei campi nell'importazione?
    Per esempio, dato che nella tabella appoggio mi si generano degli ID univoci, che poi li ho anche nella 02022024, come posso escludere il campo ID?
    Grazie ancora.

  5. #5
    dai questa è facile invece di SELECT *....

  6. #6
    Quote Originariamente inviata da optime Visualizza il messaggio
    dai questa è facile invece di SELECT *....
    Si lo so che è facile, basta scrivere tutti i campi, tranne quelli che non vogliamo, ma, la mia domanda era per sapere se, invece di scrivere 31 campi ed escludere l'id, c'era qualcosa di più semplice.
    Ultima modifica di ANTAGONIA; 10-04-2024 a 09:26

  7. #7
    no, non esiste qualcosa del tipo "* -colonnaX"

  8. #8
    alla fine ho fatto cosi, come suggerivi anche tu e funziona:
    INSERT INTO tb_visite_02022024 (codice, indirizzo,ecc ecc)
    (SELECT codice, indirizzo,ecc ecc FROM tb_visite_appoggio)
    in questo modo, ovviamente non ho il problema della duplicazione eventuale delle key(id), avendo escluso il campo ID.
    Che dire, ti ringrazio tanto.
    Alla prox.

  9. #9
    ma non era il campo "codice"?

  10. #10
    Quote Originariamente inviata da optime Visualizza il messaggio
    ma non era il campo "codice"?
    il campo codice, � quello che deve fare da discriminante, nel caso ci siano altri record uguali.
    Quello di non avere duplicate key, era quello di escludere il campo ID.

    Adesso come esempio, ho riscritto codice, indirizzo, ma potevo scrive pippo, pluto.
    Grazie ancora.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.