Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [VB] Query esclusiva

  1. #1

    [VB] Query esclusiva

    Ho il problema di accodare i dati da una tabella ad un'altra aventi la stessa struttura...

    Es:

    tab1
    id - nome - cognome - indirizzo

    tab2
    id - nome - cognome - indirizzo

    Adesso sto facendo così:
    insert into tab2 select * from tab1

    però se un valore del campo ID della prima tabella esiste nella seconda, la query fallisce.

    Esiste la possibilità di fare una query del tipo:

    insert into tab2 select * from tab1 ESCLUDI tab2.ID and tab1.ID

    Cioè selezionare tutti i campi nella SELECT ad esclusione di alcuni ( quindi non includerli nemmeno nella INSERT )?

    Vi ringrazio molto!

    Ciao a tutti!


  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    23
    Secondo me per escludere la duplicazione di chiave dovresti usare una query come la seguente:

    INSERT INTO tab2
    SELECT tab1.*
    FROM tab1 LEFT JOIN tab2 ON tab1.id = tab2.id
    WHERE ((tab2.id_argomento) Is Null)

    In pratica la left join con la condizione che il campo id della tabella di destra sia null accoda solo i campi di tab1 che non sono presenti in tab2.

    Se usi un DB Oracle (ma non mi sembra) la sintassi per la join esterna e' un po' diversa.

    Prova un po'.

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