16.6.1 Qu'est-ce qu'une sous-requête ?
Une sous-requête est un type de filtre de requête plus souple qui permet de restreindre des valeurs de façon plus performante qu'avec un filtre de requête ordinaire.
Les sous-requêtes sont plus puissantes que les filtres de requête ordinaires pour les raisons suivantes :
●
●
Elles permettent de comparer les valeurs de l'objet dont les valeurs sont utilisées pour restreindre la requête avec les valeurs d'autres objets.
Elles permettent de restreindre les valeurs renvoyées par la sous-requête à l'aide d'une clause WHERE.
Les sous-requêtes permettent de poser des questions complexes qui sont difficiles voire impossibles à formuler avec les filtres de requête simples. Par exemple : quelle est la liste des clients et de leur revenu dans laquelle un client a acheté un service qui avait été réservé (par n'importe quel client) au premier trimestre (T1) 2003 ?
16.6.2 Création d'une sous-requête
Créez une sous-requête dans le volet Filtres de la requête de l'Editeur de requête.
Remarque
Vous pouvez combiner des sous-requêtes et d'autres types de filtre de requête dans le volet Filtres de la requête.
16.6.2.1 Pour créer une sous-requête
1. Ajoutez au volet Objets du résultat les objets à afficher dans la requête.
2.
Sélectionnez l'objet à filtrer avec une sous-requête, puis cliquez sur Ajouter une sous-requête .
Le plan de la sous-requête s'affiche dans le volet Filtres de la requête. Par défaut, l'objet sélectionné apparaît comme objet de type Filtre et Filtrer par. Pour en savoir plus sur les objets de type Filtre et Filtrer par, voir
3. Pour ajouter une condition WHERE à la sous-requête, faites glisser un objet de requête vers la zone blanche du plan de la sous-requête.
Remarque
Vous pouvez utiliser une sous-requête existante ou un filtre de requête standard comme condition WHERE dans une sous-requête. Pour cela, faites glisser le filtre ou la sous-requête existant(e) vers la zone blanche du plan de la sous-requête.
4. Sélectionnez l'opérateur et les valeurs utilisés pour filtrer l'objet dans la condition WHERE.
Guide de l'utilisateur SAP Crystal Reports 2013
Création de requêtes
©
2014 SAP AG ou société affiliée SAP. Tous droits réservés.
353
Remarque
Pour en savoir plus sur les opérateurs et les valeurs de filtre de requête, voir
[page 347].
5. Cliquez sur Ajouter une sous-requête pour ajouter une sous-requête supplémentaire au filtre de requête.
Par défaut, les deux sous-requêtes sont liées par une relation de type ET. Cliquez sur l'opérateur ET pour basculer entre ET et OU.
En plus de lier les sous-requêtes dans des relations ET ou OU, vous pouvez les imbriquer (créer des sousrequêtes dans des sous-requêtes) en faisant glisser une sous-requête existante vers la zone blanche du plan de sous-requête. Dans ce cas, la sous-requête interne devient un élément de la condition WHERE de la sousrequête externe.
16.6.2.2 Paramètres de sous-requête
Une sous-requête ou un ensemble de sous-requêtes contient les paramètres suivants :
Paramètre Description
Objet(s) de type Filtre
Objet(s) de type Filtrer par
Opérateur
Objet dont les valeurs sont utilisées pour filtrer les ob jets du résultat.
Vous pouvez inclure plusieurs objets de type Filtrer.
Dans ce cas, Crystal Reports concatène les valeurs des objets spécifiés.
Objet déterminant les valeurs de l'objet de type Filtre renvoyées par la sous-requête.
Vous pouvez inclure plusieurs objets de type Filtrer par. Dans ce cas, Crystal Reports concatène les valeurs des objets spécifiés.
Opérateur spécifiant la relation entre l'objet de type Fil tre et l'objet de type Filtrer par.
Les restrictions de la base de données empêchent l'uti lisation de certaines combinaisons entre les opérateurs et les objets de type Filtre. Par exemple, si vous utilisez l'opérateur Egal à avec un objet de type Filtrer par qui renvoie plusieurs valeurs, la base de données rejette le
SQL car ce type de sous-requête requiert l'objet Filtrer par pour ne renvoyer qu'une seule valeur.
Dans les cas où le SQL généré est rejeté par la base de données, un message d'erreur s'affiche avec la des cription de l'erreur renvoyée par la base de données.
354
©
2014 SAP AG ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur SAP Crystal Reports 2013
Création de requêtes

Link pubblico aggiornato
Il link pubblico alla tua chat è stato aggiornato.