>Non va bene perchè mi dovrebbe ritornare 2 records e non 7.
E aggiungere una clausola IN?
USE tempdb;
CREATE TABLE dbo.Carico_Esempio(
Codice smallint NULL
);
INSERT dbo.Carico_Esempio VALUES(1234);
INSERT dbo.Carico_Esempio VALUES(1);
INSERT dbo.Carico_Esempio VALUES(2);
INSERT dbo.Carico_Esempio VALUES(3);
INSERT dbo.Carico_Esempio VALUES(4);
INSERT dbo.Carico_Esempio VALUES(5);
SELECT *
FROM dbo.Carico_Esempio
WHERE EXISTS(
SELECT *
FROM dbo.Carico_Esempio
WHERE Codice = 1234
)
AND EXISTS(
SELECT *
FROM dbo.Carico_Esempio
WHERE Codice = 9654
)
AND Codice IN(1234, 9654);
/* Output:
Codice
------
(0 row(s) affected)
*/
INSERT dbo.Carico_Esempio VALUES(9654);
SELECT *
FROM dbo.Carico_Esempio
WHERE EXISTS(
SELECT *
FROM dbo.Carico_Esempio
WHERE Codice = 1234
)
AND EXISTS(
SELECT *
FROM dbo.Carico_Esempio
WHERE Codice = 9654
)
AND Codice IN(1234, 9654);
/* Output:
Codice
------
1234
9654
(2 row(s) affected)
*/
DROP TABLE dbo.Carico_Esempio;
E' questo il risultato che volevi? 
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org