>Ho due tabelle diverse con le medesime colonne.
>Dovrei verificare i contenuti e capire cosa manca nella seconda
>tabella
Ciao Davide,
Puoi utilizzare una di queste tecniche:
USE tempdb;
CREATE TABLE dbo.T1(
nome nvarchar(50) NULL
);
CREATE TABLE dbo.T2(
nome nvarchar(50) NULL
);
INSERT dbo.T1 VALUES ('davide');
INSERT dbo.T1 VALUES ('paolo');
INSERT dbo.T1 VALUES ('matteo');
INSERT dbo.T1 VALUES ('andrea');
INSERT dbo.T2 VALUES ('paolo');
INSERT dbo.T2 VALUES ('matteo');
INSERT dbo.T2 VALUES ('andrea');
/* Soluzione 1 */
SELECT T1.nome
FROM dbo.T1
LEFT JOIN dbo.T2
ON T1.nome = T2.nome
WHERE T2.nome IS NULL;
/* Soluzione 2 */
SELECT nome
FROM dbo.T1
WHERE NOT EXISTS(
SELECT *
FROM dbo.T2
WHERE nome = T1.nome
);
/* Soluzione 3 */
SELECT nome
FROM dbo.T1
WHERE nome NOT IN(
SELECT nome
FROM dbo.T2
);
/* Output:
nome
-------
davide
(1 row(s) affected)
*/
DROP TABLE dbo.T1, dbo.T2;
Le prime due offrono un piano di esecuzione più efficiente rispetto alla terza.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org