>tab insgiochi 2 colonne
>n d
>
>1
>2 X
>2
>3
>4
>5
>6
>tab intallazione 2 colonne
>
>n dataout
>
>1 01/01?2007
>1
>2
>3
>4
>5 01/01?2007
>
>
>
>il risultato che devo visualizzare e
>
>n
>
>5
>6
>perche 5 ha dataout not null e 6 non è presente in installazione
Scusa, anche 1 è presente in entrambe le tabelle e ha la data NOT NULL, per quale motivo lo vuoi escludere dal result set finale?
Secondo me hai le idee alquanto confuse, ti posto questo esempio e ragionaci un po' su:
USE tempdb;
CREATE TABLE dbo.insgiochi(
n int NOT NULL,
d char(1) NULL
);
CREATE TABLE dbo.installazione(
n int NOT NULL,
dataout smalldatetime NULL
);
INSERT dbo.insgiochi VALUES(1, NULL);
INSERT dbo.insgiochi VALUES(2, 'X');
INSERT dbo.insgiochi VALUES(2, NULL);
INSERT dbo.insgiochi VALUES(3, NULL);
INSERT dbo.insgiochi VALUES(4, NULL);
INSERT dbo.insgiochi VALUES(5, NULL);
INSERT dbo.insgiochi VALUES(6, NULL);
INSERT dbo.installazione VALUES(1, '20070101');
INSERT dbo.installazione VALUES(1, NULL);
INSERT dbo.installazione VALUES(2, NULL);
INSERT dbo.installazione VALUES(3, NULL);
INSERT dbo.installazione VALUES(4, NULL);
INSERT dbo.installazione VALUES(5, '20070101');
SELECT G.*
FROM dbo.insgiochi AS G
LEFT JOIN dbo.installazione AS I
ON G.n = I.n
WHERE I.n IS NULL
OR I.dataout IS NOT NULL;
/* Output:
n d
----------- ----
1 NULL
5 NULL
6 NULL
(3 row(s) affected)
*/
DROP TABLE dbo.insgiochi, dbo.installazione;
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org