Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Problema comparazione tabelle
domenica 14 dicembre 2014 - 18.10
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
Windows 7
|
SQL Server 2008 R2
pieroalampi
Profilo
| Expert
817
messaggi | Data Invio:
dom 14 dic 2014 - 18:10
salve ho un problema che sembra stupido ma al momento forse perché ho la mente confusa non trovo soluzione:
ho due tabelle su sql e dovrei fare in modo di inserire la riga o record mancante in una delle due tabelle:
tabella 1
listino 1
listino 2
listino 3
listino 4
tabella 2
listino 1
listino 3
listino 4
ecco a questo punto le devo mettere a confronto e inserire il solo record mancante cioè listino 2, vi prego svegliatemi la mente grazie
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
lun 15 dic 2014 - 09:51
Ciao.
Io farei in questo modo:
Carico il contenuto della Tabella1 (i campi che mi interessa confrontare) in una lista.
Faccio la stessa cosa anche per la tabella 2
poi considero master i dati della 1 e scorrendo la lista 1 verifico se esiste il corrispondente nella 2. Se non esiste effettuo l'insert diretto e aggiungo l'emento nella lista 2.
Poi faccio la stessa cosa invertendo le liste. In questo modo le due tabelle risultano uguali
Cristian Barca
MaxMag
Profilo
| Newbie
12
messaggi | Data Invio:
lun 15 dic 2014 - 12:26
Non potresti confrontare le due tabelle facendo una Select con la clausola NOT IN?
pieroalampi
Profilo
| Expert
817
messaggi | Data Invio:
lun 15 dic 2014 - 17:28
diciamo che ho risolto ma voglio fare una prova con entrambi i consigli per ora grazie poi vediamo
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA
pieroalampi
Profilo
| Expert
817
messaggi | Data Invio:
lun 15 dic 2014 - 17:37
gironzolando forse ho trovato qualcosa che potrebbe essere più efficace che ne dite?
tabella 1
listino 1
listino 2
listino 3
listino 4
tabella 2
listino 1
listino 3
listino 4
SELECT a.*
FROM tabella1 AS a
WHERE NOT EXISTS(
SELECT *
FROM tabella2
WHERE Campo1 = tabella1.listino 1
);
anche seguendo questa guida:
http://technet.microsoft.com/en-us/library/ms189062
(v=sql.105).aspx
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA
MaxMag
Profilo
| Newbie
12
messaggi | Data Invio:
lun 15 dic 2014 - 19:21
I due operatori fanno sostanzialmente la stessa cosa. Non vedo grandi differenze qualora la tabella non riporti campi di tipo null.
In entrambi i casi ti viene restituito l'elenco dei record non presente nella seconda tabella.
pieroalampi
Profilo
| Expert
817
messaggi | Data Invio:
mar 16 dic 2014 - 13:30
ma con un null praticamente riceverei un errore da gestire o mi sbaglio?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA
MaxMag
Profilo
| Newbie
12
messaggi | Data Invio:
mar 16 dic 2014 - 14:37
Se hai dei campi valorizzati a null, a seconda delle interrogazioni i predicati NOT IN e NOT EXIST potrebbero restituire risultati diversi ed avere differenti prestazioni.
Non mi sembra però il caso del tuo esempio. Cmq puoi utilizzare NOT EXIST e sincronizzare le 2 tabelle.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !