Exists (DMX)

Retourne true si la sous-requête spécifiée retourne au moins une ligne.

Syntaxe

EXISTS(<subquery>)

Arguments

  • subquery
    Instruction SELECT sous la forme SELECT * FROM <nom_colonne> [WHERE <liste_prédicats>].

Type de résultat

Retourne true si le jeu de résultats retourné par la sous-requête contient au moins une ligne ; sinon, retourne false.

Notes

Vous pouvez utiliser le mot clé NOT avant EXISTS ; par exemple, WHERE NOT EXISTS (<subquery>).

La liste des colonnes que vous ajoutez à l'argument de sous-requête d'EXISTS est inappropriée ; la fonction vérifie uniquement l'existence d'une ligne qui remplit la condition.

Exemples

Vous pouvez utiliser EXISTS et NOT EXISTS pour vérifier des conditions dans une table imbriquée. Cela est utile lors de la création d'un filtre qui contrôle les données utilisées pour l'apprentissage ou le test d'un modèle d'exploration de données. Pour plus d'informations, consultez Création de filtres pour les modèles d'exploration de données (Analysis Services - Exploration de données).

L'exemple suivant est basé sur la structure d'exploration de données [Association] et le modèle d'exploration de données que vous avez créé dans le Didacticiel sur l'exploration de données de base. La requête retourne uniquement les cas où le client a acheté au moins un produit Patch Kit.

SELECT * FROM [Association].CASES
WHERE EXISTS
(
SELECT * FROM [v Assoc Seq Line Numbers]
WHERE [[Model] = 'Patch kit'
)

L'autre méthode qui permet d'afficher les mêmes données que celles retournées par cette requête consiste à ouvrir le modèle dans la visionneuse d'associations, à cliquer avec le bouton droit sur le jeu d'éléments Patch kit = Existing, à sélectionner l'option Extraire, puis à sélectionner Cas de modèles uniquement.