Filtrer et trier des données de base de données
Cette rubrique explique comment filtrer et trier les données d'une base de données à l'aide du composant SQL/NoSQL-WHERE/ORDER. Ce composant vous permet de saisir manuellement une clause WHERE pour filtrer les données. Vous pouvez également, si vous le souhaitez :
•Spécifier une clause ORDER BY pour trier les données selon un champ particulier de la base de données, par ordre croissant ou décroissant.
•Cochez la case Sélectionner uniquement les lignes distinctes pour que la base de données ne renvoie que les lignes uniques.
Le composant SQL/NoSQL-WHERE/ORDER doit être connecté à une table ou à un champ d’un composant de base de données source. Vous pouvez également connecter un composant WHERE/ORDER à un composant join afin de filtrer l’ensemble des enregistrements issus de la jointure.
Ajouter un composant SQL/NoSQL-WHERE/ORDER
Pour ajouter un composant SQL/NoSQL-WHERE/ORDER au mappage, suivez les instructions ci-dessous :
1.Sélectionnez la commande Insérer SQL/NoSQL-WHERE/ORDER dans la barre d’outils. Vous pouvez également sélectionner SQL/NoSQL-WHERE/ORDER dans le menu Insérer ou dans la Galerie de composants. Par défaut, ce composant présente la structure suivante :

2.Connectez une table ou un champ de la base de données source à l’élément db-object du composant WHERE/ORDER.
3.Pour spécifier une clause WHERE, double-cliquez sur l’en-tête du composant WHERE/ORDER. Vous pouvez également cliquer avec le bouton droit de la souris dessus et sélectionner Propriétés dans le menu contextuel. Cela ouvre le dialogue Propriétés de SQL/NoSQL-WHERE/ORDER. La capture d’écran ci-dessous présente les propriétés du composant WHERE/ORDER dans le fichier MapForceExamples\DB_PhoneList.mfd.
4.Saisissez une clause WHERE dans la zone de texte située en haut. Dans notre exemple, la clause WHERE (Last LIKE :Name) renvoie les lignes pour lesquelles le champ Last correspond au modèle spécifié par le paramètre :Name. Les valeurs de ce paramètre sont fournies par le mappage. Vous pouvez également ajouter une clause ORDER BY. Dans notre exemple, la clause ORDER BY trie les valeurs de Last par ordre croissant. Pour plus d’informations, voir Clauses WHERE et ORDER BY.
Paramètres des composants SQL/NoSQL-WHERE/ORDER
Vous pouvez définir des paramètres dans la clause WHERE d’un composant SQL/NoSQL-WHERE/ORDER. Ils peuvent s’avérer utiles si vous souhaitez transmettre une valeur à la clause WHERE à partir du mappage.
Dans le composant WHERE/ORDER illustré ci-dessus, la clause WHERE est spécifiée comme suit :
Last LIKE :Name, où :
•Last fait référence au champ de la base de données dans la table connectée.
•LIKE est un opérateur SQL qui effectue une correspondance de motifs.
•:Name est un paramètre qui reçoit des valeurs provenant du mappage.
Dans MapForceExamples\DB_PhoneList.mfd, Name apparaît comme paramètre du composant WHERE/ORDER (capture d’écran ci-dessous).
La valeur transmise à ce paramètre est construite comme suit :
•La constante fournit la valeur B au composant à entrée simple.
•La fonction concat combine B avec le caractère générique %.
•La valeur concaténée (B%) est fournie au paramètre Name du composant WHERE/ORDER. La clause WHERE ne renvoie donc que les noms de famille commençant par la lettre B. Le caractère générique % représente un nombre quelconque de caractères.
Apparence des composants SQL/NoSQL-WHERE/ORDER
L’apparence des composants SQL/NoSQL-WHERE/ORDER varie en fonction des paramètres qui y sont définis (voir le tableau ci-dessous).
![]() | Une clause WHERE a été définie. |
![]() | Une clause WHERE avec un paramètre nommé sqlparameter a été définie. |
![]() | Une clause WHERE avec un paramètre et une clause ORDER BY ont été définies. Le tri est indiqué par l'icône de tri A-Z. |
Si vous placez le curseur de la souris sur l’en-tête SQL/NoSQL-WHERE/ORDER, une info-bulle s’affiche pour indiquer les clauses qui ont été définies.
Exemples
Pour des exemples d’utilisation du composant WHERE/ORDER, consultez les mappages suivants :
•MapForceExamples\DB_PhoneList.mfd
•MapForceExamples\ParseJSONFromDB.mfd




