Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Query di confronto

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    110

    Query di confronto

    Ho 2 tabelle tab1 e tab2
    voglio attraverso una query inserire in tab3

    - tutti i valori nuovi di tab1 che non stanno quindi in tab2
    - tutti i valori di tab2 che non stanno in tab1

    come faccio con una insert?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Specifica tutti i campi ad esclusione dell'id.

    codice:
    insert into tab3 (campo1,campo2) 
    select tab1.campo1,tab1.campo2
    from tab1
    left join tab2
    on tab1.id = tab2.id
    where tab2.id is null
    union all
    select tab2.campo1,tab2.campo2
    from tab2
    left join tab1
    on tab2.id = tab1.id
    where tab1.id is null

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    110
    Originariamente inviato da nicola75ss
    Specifica tutti i campi ad esclusione dell'id.

    codice:
    insert into tab3 (campo1,campo2) 
    select tab1.campo1,tab1.campo2
    from tab1
    left join tab2
    on tab1.id = tab2.id
    where tab2.id is null
    union all
    select tab2.campo1,tab2.campo2
    from tab2
    left join tab1
    on tab2.id = tab1.id
    where tab1.id is null
    Se volessi usare NOT IN ?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    insert into tab3 (campo1,campo2) 
    select tab1.campo1,tab1.campo2
    from tab1
    where tab1.id not in ( 
    select tab2.id from tab2)
    union all
    select tab2.campo1,tab2.campo2
    from tab2
    where tab2.id not in ( 
    select tab1.id from tab1)

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    110
    Originariamente inviato da nicola75ss
    codice:
    insert into tab3 (campo1,campo2) 
    select tab1.campo1,tab1.campo2
    from tab1
    where tab1.id not in ( 
    select tab2.id from tab2)
    union all
    select tab2.campo1,tab2.campo2
    from tab2
    where tab2.id not in ( 
    select tab1.id from tab1)
    Ti ringrazio ma c'è qualcosa che non mi torna appena la trovo te la dico..

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    110
    Trovato!...sono tabelle differenti..quindi non mi fa fare la union

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da alien1985
    Trovato!...sono tabelle differenti..quindi non mi fa fare la union
    Basta che specifichi gli stessi campi da entrambe.

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.