J'ai une liste de valeurs, et je veux savoir lesquelles n'existent pas déjà dans la table. (Ceci est sur le serveur SQL 2000)Lesquelles de ces valeurs ne sont PAS dans la table?
Considérez ce qui suit:
CREATE TABLE myTable (foo VARCHAR(10))
GO
INSERT INTO myTable
(foo
)
SELECT 'aaa'
UNION ALL SELECT 'bbb'
UNION ALL SELECT 'ccc'
GO
SELECT foo
FROM myTable
WHERE foo IN ('aaa', 'cat', 'bbb', 'dog')
-- returns 'aaa' and 'bbb'
Je dois écrire une requête qui retourne « chat » et « chien ».
SELECT foo
FROM myTable
WHERE foo ????? ('aaa', 'cat', 'bbb', 'dog')
-- returns 'cat' and 'dog'
Existe-t-il un moyen simple de faire cela dans une requête?
En raison de la façon dont l'application interagit avec la base de données, je préfère ne pas, par exemple, créer une table temporaire
la liste des valeurs petites? Si c'est le cas, vous pouvez simplement récupérer ceux qui existent déjà depuis la base de données, puis faire le filtrage dans l'application à la place, sans perte de performance perceptible. – Journey