Mises en relation des tables. SAP pour Enterprise
7.4.4 Mises en relation des tables
Créer un lien entre deux tables permet d'établir une correspondance entre leurs enregistrements respectifs. Par exemple, il est possible de relier les tables Commandes et Clients de sorte que chaque commande puisse être associée au client qui l'a passée.
La mise en relation implique par conséquent un champ commun aux deux tables. Crystal Reports se sert des mises en relation pour mettre en correspondance les enregistrements d'une table avec ceux de l'autre table. Dans notre exemple, la mise en relation permet de vérifier que toutes les données d'une ligne du rapport se réfèrent à la même commande.
Remarque
En présence de plusieurs liens, vous pouvez spécifier l'ordre dans lequel Crystal Reports les traite.
7.4.4.1 Mise en relation intelligente
Lorsque vous sélectionnez des tables pour votre rapport, tout lien existant entre les tables est automatiquement appliqué. Pour vérifier que tous les liens sont appliqués, procédez comme suit :
● Dans la zone Tables sélectionnées, cliquez sur le bouton
Effectuer une mise en relation intelligente
.
7.4.4.2 Pour modifier les propriétés d'un lien
1. Cliquez sur
Modifier les sources de données
de la zone
Objets du résultat
du panneau latéral
Explorateur de données
.
2. Dans le volet
Tables sélectionnées
, sélectionnez le lien entre deux tables, puis cliquez sur
Modifier les propriétés du lien
.
La boîte de dialogue
Propriétés du lien
s'affiche.
3. Modifiez les propriétés, puis cliquez sur
OK
.
7.4.4.3 Pour effacer tous les liens
1. Cliquez sur
Modifier les sources de données
de la zone
Objets du résultat
du panneau latéral
Explorateur de données
.
2. Cliquez dans le volet
Tables sélectionnées
.
3. Cliquez sur
Effacer les liens
.
Tous les liens de tables sont supprimés.
4. Cliquez sur
Terminer
.
Guide de l'utilisateur de SAP Crystal Reports pour Enterprise
Sources de données et requêtes
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
145
7.4.4.4 Mise en relation de et mise en relation vers
Lorsque vous reliez deux tables, la mise en relation s'effectue d'une table vers l'autre. Les mises en relation de deux tables se font toujours d'une table vers une autre. La première table sert de table principale et utilise la seconde table comme table de recherche. Dans une mise en relation ordinaire, le Report Designer examine le premier enregistrement de la table principale et retrouve tous les enregistrements correspondants dans la table de recherche. Il passe ensuite au second enregistrement de la table principale, et ainsi de suite.
7.4.4.5 Relations unissant les enregistrements de tables reliées
Lorsque deux tables sont liées, les enregistrements qu'elles contiennent sont en général unis par une relation de type un-à-un ou un-à-plusieurs.
7.4.4.5.1 Relations de type un-à-un
Lorsque les enregistrements de deux tables reliées sont unis par des relations de type un-à-un, à chaque enregistrement de la table principale correspond un seul enregistrement dans la table de recherche (déterminé sur la base des champs reliés). Par exemple, dans Xtreme.mdb (l'exemple de base de données livré avec Crystal
Reports), la table Employés peut être reliée à la table Adresses des employés via leur champ commun ID employé.
La table Employés contient des informations sur les employés de l'entreprise : fonction, salaire, date d'embauche, etc. La table Adresses des employés contient l'adresse de chaque employé. Dans chacune de ces tables, il n'y a qu'un (et un seul) enregistrement par employé. Par conséquent, lorsque la table Employés est reliée à la table
Adresses des employés, vous n'avez à consulter qu'un seul enregistrement de la table Adresses des employés pour chaque enregistrement de la table Employés. Nous sommes donc bien en présence d'une relation de type un-à-un.
7.4.4.5.2 Relations de type un-à-plusieurs
Lorsque les enregistrements de deux tables reliées sont unis par des relations de type un-à-plusieurs, à chaque enregistrement de la table principale correspondent un ou plusieurs enregistrements dans la table de recherche, déterminés sur la base de champs de mise en relation. Par exemple, dans Xtreme.mdb (l'exemple de base de données livré avec Crystal Reports), la table Clients peut être reliée à la table Commandes via leur champ commun ID client. La table Clients contient des informations sur chaque client ayant passé une commande. La table Commandes contient des informations sur les commandes passées par les clients. Chaque client pouvant passer plusieurs commandes, il est possible que la table Commandes contienne plusieurs enregistrements correspondant à un même enregistrement de la table Clients. Nous sommes donc bien en présence d'une relation de type un-à-plusieurs.
146
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports pour Enterprise
Sources de données et requêtes
7.4.4.6 Options de mise en relation
Crystal Reports vous permet d'indiquer le type de jointure et le type de lien à utiliser lors de la mise en relation de tables. Vous pouvez également imposer l'utilisation de tables dans vos jointures. Les jointures et les liens précisent les modalités de la comparaison entre les champs reliés de deux tables lors de la lecture des enregistrements. Utilisez la boîte de dialogue Options de mise en relation pour spécifier les options de jointure, d'application et de mise en relation. L'utilisation des diverses options d'application de jointures permet de s'assurer que les tables reliées sont incluses dans la requête SQL, même si aucun des champs de la table n'est utilisé dans le rapport.
Remarque
Si vous utilisez des jointures, vous n'avez pas besoin de champ indexé.
Les différents types de jointure sont les suivants :
● Jointure interne
● Jointure externe gauche
● Jointure externe droite
● Jointure externe complète
Les différentes options de jointure applicables sont les suivantes :
● Non appliquée
● Appliquée depuis
● Appliquée vers
● Appliquée des deux façons
Les types de lien sont les suivants :
● Lien Egal à [=]
● Lien Supérieur à [>]
● Lien Supérieur ou égal à [>=]
● Lien Inférieur à [<]
● Lien Inférieur ou égal à [<=]
● Différent de [!=]
7.4.4.6.1 Jointure interne
Une jointure interne est le type de jointure standard. Les résultats obtenus avec cette jointure incluent tous les enregistrements dont les valeurs du champ relié dans les deux tables correspondent exactement. Par exemple, vous pouvez utiliser une jointure interne pour visualiser tous les clients et les commandes qu'ils ont passées. Vous n'obtiendrez pas de correspondance pour les clients qui n'ont pas passé de commande.
Guide de l'utilisateur de SAP Crystal Reports pour Enterprise
Sources de données et requêtes
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
147
58
60
62
53
53
57
63
63
64
Table Clients
ID client
52
Table Clients
Nom du client
Allez Distribution
BG Mountain Inc.
BG Mountain Inc.
Hansen MTB Inc.
La Bomba de Bicicleta
Mountain Toad
SFB Inc.
Sierra Bicycle Group
Sierra Bicycle Group
Sierra Mountain
Table Commandes
Montant commande
25 141,50
19 164,30
1 683,60
15 716,40
1 956,20
24 580,50
7 911,80
19 766,20
12 763,95
8 233,50
7.4.4.6.2 Jointure externe gauche
Les résultats obtenus d'une jointure externe gauche incluent tous les enregistrements dont les valeurs du champ relié dans les deux tables correspondent exactement. Ils incluent également une ligne pour chaque enregistrement dans la table principale (gauche) dont la valeur du champ relié n'a aucune correspondance dans la table de recherche. Par exemple, vous pouvez utiliser une jointure externe gauche pour visualiser tous les clients et les commandes qu'ils ont passées, mais vous recevez également une ligne pour chaque client qui n'a passé aucune commande. Ces clients apparaissent à la fin de la liste avec des espaces vides au lieu de détails concernant leurs commandes.
57
58
60
Table Clients
ID client
52
53
53
Table Clients
Nom du client
Allez Distribution
BG Mountain Inc.
BG Mountain Inc.
Hansen MTB Inc.
La Bomba de Bicicleta
Mountain Toad
Table Commandes
Montant commande
25 141,50
19 164,30
1 683,60
15 716,40
1 956,20
24 580,50
148
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports pour Enterprise
Sources de données et requêtes
63
63
64
54
55
Table Clients
ID client
62
Table Clients
Nom du client
SFB Inc.
Sierra Bicycle Group
Sierra Bicycle Group
Sierra Mountain
Bicicletas Aztecas
Deely MTB Inc.
Table Commandes
Montant commande
7 911,80
19 766,20
12 763,95
8 233,50
Remarque
En langage SQL, les jointures externes gauches et externes droites sont traitées différemment des autres jointures. Si vous accédez à la base de données par l'intermédiaire d'ODBC, Crystal Reports utilise la syntaxe
ODBC dans l'instruction SQL. Lorsque vous vous connectez directement à une base de données SQL (sans passer par ODBC), Crystal Reports utilise la syntaxe native de cette base de données. Pour en savoir plus, voir la documentation ODBC de Microsoft ou celle de votre base de données SQL.
7.4.4.6.3 Jointure externe droite
Les résultats obtenus avec cette jointure incluent tous les enregistrements dont les valeurs du champ relié dans les deux tables correspondent exactement. Ils incluent également une ligne pour chaque enregistrement de la table de recherche (droite) dont la valeur du champ relié n'a pas pu être trouvée dans la table principale. Lorsque vous reliez la table Clients à la table Commandes, des lignes sont ajoutées en fonction des commandes passées par un client. Vous obtenez également des lignes spécifiques pour toutes les commandes trouvées qui ne peuvent pas être reliées à un client. Cette situation est théoriquement impossible, mais la méthode permet par exemple de repérer rapidement les commandes enregistrées par un vendeur inexpérimenté ayant oublié de saisir l'ID client.
Dans les tables résultantes, en effet, un espace vide remplace le champ Client dans toutes les commandes ne précisant pas le nom du client.
Table Clients Table Commandes Table Commandes
ID client
52
53
53
57
ID commande
6
11
21
4
Montant commande
25 141,50
19 164,30
1 683,60
15 716,40
Guide de l'utilisateur de SAP Crystal Reports pour Enterprise
Sources de données et requêtes
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
149
60
62
63
63
64
Table Clients
ID client
58
32
14
25
16
19
28
Table Commandes
ID commande
20
Table Commandes
Montant commande
1 956,20
24 580,50
7 911,80
19 766,20
12 763,95
8 233,50
10 320,87
Remarque
En langage SQL, les jointures externes gauches et externes droites sont traitées différemment des autres jointures. Si vous accédez à la base de données par l'intermédiaire d'ODBC, Crystal Reports utilise la syntaxe
ODBC dans l'instruction SQL. Lorsque vous vous connectez directement à une base de données SQL (sans passer par ODBC), Crystal Reports utilise la syntaxe native de cette base de données. Pour en savoir plus, voir la documentation ODBC de Microsoft ou celle de votre base de données SQL.
7.4.4.6.4 Jointure externe complète
Une jointure externe complète est une jointure externe bidirectionnelle qui vous permet de voir tous les enregistrements contenus dans vos tables reliées. Les résultats obtenus d'une jointure externe complète incluent tous les enregistrements dont les valeurs du champ relié dans les deux tables correspondent exactement. Elle inclut également une ligne pour chaque enregistrement de la table principale (gauche) pour laquelle la valeur du champ relié n'a pas de correspondance dans la table de recherche et une ligne pour chaque enregistrement de la table de recherche (droite) pour laquelle la valeur du champ relié n'a pas de correspondance dans la table principale. Lorsque vous reliez la table Clients à la table Commandes, des lignes sont ajoutées en fonction des commandes passées par un client. Une ligne est également ajoutée pour chaque commande trouvée qui n'a pu
être reliée à un client et une ligne pour chaque client pour lequel aucune commande n'a été trouvée.
Table Clients
ID client
52
53
53
Table Commandes
ID commande
6
11
21
Table Commandes
Montant commande
25 141,50
19 164,30
1 683,60
150
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports pour Enterprise
Sources de données et requêtes
63
63
64
58
60
62
65
66
Table Clients
ID client
57
28
32
14
20
16
19
Table Commandes
ID commande
4
Table Commandes
Montant commande
15 716,40
1 956,20
24 580,50
7 911,80
19 766,20
12 763,95
8 233,50
25 10 320,87
7.4.4.6.5 Non appliquée
Lorsque vous sélectionnez cette option, le lien que vous avez créé n'est utilisé que s'il est explicitement requis par l'instruction Select. Vos utilisateurs peuvent créer des rapports basés sur les tables sélectionnées sans aucune restriction (c'est-à-dire sans qu'aucune autre table ne soit imposée). Il s'agit de l'option par défaut.
7.4.4.6.6 Appliquée depuis
Lorsque vous sélectionnez cette option, si la table Vers de la mise en relation est utilisée, le lien est appliqué. Par exemple, si vous créez un lien de la table A vers la table B en utilisant Appliquée depuis et que vous sélectionnez un seul champ de la table B, l'instruction Select continuera d'inclure la jointure à la table A car elle est appliquée.
Inversement, le fait de sélectionner uniquement de la table A avec la même condition de jointure n'entraîne pas l'application de la jointure à la table B.
Remarque
Pour en savoir plus sur les tables de départ et d'arrivée, voir
Mise en relation de et mise en relation vers
[page
146].
Guide de l'utilisateur de SAP Crystal Reports pour Enterprise
Sources de données et requêtes
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
151
7.4.4.6.7 Appliquée vers
Lorsque vous sélectionnez cette option, si la table de départ de la mise en relation est utilisée, le lien est appliqué.
Par exemple, si vous créez un lien de la table A vers la table B en utilisant Appliquée vers et que vous sélectionnez uniquement un champ de la table A, la jointure à la table B sera appliquée et l'instruction Select générée inclura les deux tables.
Remarque
Pour en savoir plus sur les tables de départ et d'arrivée, voir
[page 152].
7.4.4.6.8 Appliquée des deux façons
Lorsque vous sélectionnez cette option, si la table de départ ou la table d'arrivée de la mise en relation est utilisée, le lien est appliqué.
7.4.4.6.9 Lien Egal à [=]
53
53
57
Les résultats obtenus avec cette mise en relation incluent tous les enregistrements dont les valeurs du champ relié dans les deux tables correspondent exactement. Dans l'exemple suivant, la table Clients est reliée à la table
Commandes par l'intermédiaire du champ ID client. Lorsque le logiciel trouve dans la table Commandes un ID client qui coïncide avec celui de la table Clients, il affiche le contenu des enregistrements concernés des deux tables.
Pour décrire une mise en relation Egal à, SQL utilise la syntaxe suivante :
SELECT Customer.'Customer ID',
Customer.'Customer Name',
Orders.'Order Amount'
FROM 'Customer' Customer,
'Orders' Orders
WHERE Customer.Customer ID =
Orders.Customer ID
Cette instruction génère les données suivantes :
Table Clients Table Clients
ID client
52
Nom du client
Allez Distribution
BG Mountain Inc.
BG Mountain Inc.
Hansen MTB Inc.
Table Commandes
Montant commande
25 141,50
19 164,30
1 683,60
15 716,40
152
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports pour Enterprise
Sources de données et requêtes
60
62
63
63
64
Table Clients
ID client
58
Table Clients
Nom du client
La Bomba de Bicicleta
Mountain Toad
SFB Inc.
Sierra Bicycle Group
Sierra Bicycle Group
Sierra Mountain
Table Commandes
Montant commande
1 956,20
24 580,50
7 911,80
19 766,20
12 763,95
8 233,50
7.4.4.6.10 Lien Supérieur à [>]
Les résultats obtenus avec cette mise en relation incluent tous les enregistrements dont la valeur du champ relié de la table principale est strictement supérieure à celle du même champ dans la table de recherche. Ils permettent par exemple de comparer les salaires des vendeurs à ceux des directeurs des ventes. Les dirigeants de l'entreprise veulent s'assurer qu'aucun vendeur n'est mieux payé que son directeur.
Pour s'en tenir à cet exemple, il suffirait de relier la table Vendeur à la table Directeur, par l'intermédiaire de leur champ Salaire à l'aide d'une mise en relation Supérieur à :
SELECT SalesRep.'Last Name',
SalesRep.'Salary',
Manager.'Last Name',
Manager.'Salary'
FROM 'SalesRep' SalesRep,
'Manager' Manager
WHERE SalesRep.'Salary' >
Manager.'Salary'
Cette instruction SQL génère les données suivantes :
Table Vendeur
Nom
Davolio
Davolio
Davolio
Dodsworth
Dodsworth
Table Vendeur
Salaire
35 000,00 $
35 000,00 $
35 000,00 $
48 300,00 $
48 300,00 $
Table Directeur
Nom
Fuller
Brid
Buchanan
Hellstern
Fuller
Table Directeur
Salaire
32 000,00 $
30 000,00 $
29 500,00 $
45 000,00 $
32 000,00 $
Guide de l'utilisateur de SAP Crystal Reports pour Enterprise
Sources de données et requêtes
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
153
Table Vendeur
Nom
Dodsworth
Dodsworth
Dodsworth
Patterson
Table Vendeur
Salaire
48 300,00 $
48 300,00 $
48 300,00 $
30 000,00 $
Table Directeur
Nom
Brid
Buchanan
Martin
Buchanan
Table Directeur
Salaire
30 000,00 $
29 500,00 $
35 000,00 $
29 500,00 $
Dans cette table, aucune relation n'a pu être établie entre les vendeurs et les directeurs des ventes. Ces derniers ayant tous une ancienneté supérieure à celle des vendeurs, il est utile - lors d'une réévaluation de la politique salariale de l'entreprise - de vérifier que leur rémunération est également plus élevée.
7.4.4.6.11 Lien Supérieur ou égal à [>=]
Les résultats obtenus avec cette mise en relation incluent tous les enregistrements dont la valeur du champ relié de la table principale est supérieure ou égale à celle du même champ dans la table de recherche. L'instruction donnée ici en exemple est pratiquement identique à celle de la jointure Supérieur à, excepté qu'elle utilise le lien
Supérieur ou égal à :
SELECT SalesRep.'Last Name',
SalesRep.'Salary',
Manager.'Last Name',
Manager.'Salary'
FROM 'SalesRep' SalesRep,
'Manager' Manager
WHERE SalesRep.'Salary' >=
Manager.'Salary'
Cette instruction génère les données suivantes :
Table Vendeur Table Vendeur Table Directeur
Nom
Fuller
Table Directeur
Salaire
32 000,00 $
Nom
Davolio
Davolio
Davolio
Davolio
Dodsworth
Dodsworth
Salaire
35 000,00 $
35 000,00 $
35 000,00 $
35 000,00 $
48 300,00 $
48 300,00 $
Brid
Buchanan
Martin
Hellstern
Fuller
30 000,00 $
29 500,00 $
35 000,00 $
45 000,00 $
32 000,00 $
154
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports pour Enterprise
Sources de données et requêtes
Table Vendeur
Nom
Dodsworth
Dodsworth
Dodsworth
Patterson
Patterson
Table Vendeur
Salaire
48 300,00 $
48 300,00 $
48 300,00 $
30 000,00 $
30 000,00 $
Table Directeur
Nom
Brid
Buchanan
Martin
Brid
Buchanan
Table Directeur
Salaire
30 000,00 $
29 500,00 $
35 000,00 $
30 000,00 $
29 500,00 $
7.4.4.6.12 Lien Inférieur à [<]
Les résultats obtenus avec cette mise en relation incluent tous les enregistrements dont la valeur du champ relié de la table principale est strictement inférieure à celle du même champ dans la table de recherche. A l'aide du lien
Inférieur à, vous pouvez vérifier qu'aucun salaire de vendeur n'est supérieur à un salaire de directeur des ventes.
Le champ Salaire est utilisé de nouveau pour effectuer la mise en relation. Cette fois-ci, cependant, la mise en relation se fait de la table Directeur vers la table Vendeur en utilisant une mise en relation Inférieur à sur les champs Salaire reliés :
SELECT Manager.'Last Name',
Manager.'Salary',
SalesRep.'Last Name',
SalesRep.'Salary'
FROM 'Manager' Manager,
'SalesRep' SalesRep
WHERE Manager.'Salary' <
SalesRep.'Salary'
Cette instruction SQL génère une table légèrement différente de celle obtenue avec la mise en relation Supérieur
à :
Table Directeur
Nom
Fuller
Fuller
Brid
Brid
Buchanan
Buchanan
Table Directeur
Salaire
32 000,00 $
32 000,00 $
30 000,00 $
30 000,00 $
29 500,00 $
29 500,00 $
Table Vendeur
Nom
Davolio
Dodsworth
Davolio
Dodsworth
Davolio
Dodsworth
Table Vendeur
Salaire
35 000,00 $
48 300,00 $
35 000,00 $
48 300,00 $
35 000,00 $
48 300,00 $
Guide de l'utilisateur de SAP Crystal Reports pour Enterprise
Sources de données et requêtes
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
155
Table Directeur
Nom
Buchanan
Martin
Hellstern
Table Directeur
Salaire
29 500,00 $
35 000,00 $
45 000,00 $
Table Vendeur
Nom
Patterson
Dodsworth
Dodsworth
Table Vendeur
Salaire
30 000,00 $
48 300,00 $
48 300,00 $
7.4.4.6.13 Lien Inférieur ou égal à [<=]
Brid
Brid
Brid
Nom
Fuller
Fuller
Buchanan
Buchanan
Les résultats obtenus avec cette mise en relation incluent tous les enregistrements dont la valeur du champ relié de la table principale est inférieure ou égale à celle du même champ dans la table de recherche. L'instruction donnée ici en exemple est pratiquement identique à celle de la mise en relation Inférieur à, excepté qu'elle utilise la mise en relation Inférieur ou égal à :
SELECT Manager.'Last Name',
Manager.'Salary',
SalesRep.'Last Name',
SalesRep.'Salary'
FROM 'Manager' Manager,
'SalesRep' SalesRep
WHERE Manager.'Salary' <=
SalesRep.'Salary'
Cette instruction génère les données suivantes :
Table Directeur Table Directeur
Salaire
32 000,00 $
32 000,00 $
30 000,00 $
30 000,00 $
30 000,00 $
29 500,00 $
29 500,00 $
Table Vendeur
Nom
Davolio
Dodsworth
Davolio
Dodsworth
Patterson
Davolio
Dodsworth
Table Vendeur
Salaire
35 000,00 $
48 300,00 $
35 000,00 $
48 300,00 $
30 000,00 $
35 000,00 $
48 300,00 $
Buchanan
Martin
Martin
29 500,00 $
35 000,00 $
35 000,00 $
Patterson
Davolio
Dodsworth
30 000,00 $
35 000,00 $
48 300,00 $
156
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports pour Enterprise
Sources de données et requêtes
Table Directeur
Nom
Hellstern
Table Directeur
Salaire
45 000,00 $
Table Vendeur
Nom
Dodsworth
Table Vendeur
Salaire
48 300,00 $
7.4.4.6.14 Différent de [!= ] lien
Les résultats obtenus avec cette mise en relation incluent tous les enregistrements dont la valeur du champ relié de la table principale est différente de celle du même champ dans la table de recherche. Cette mise en relation permet de trouver toutes les combinaisons d'éléments possibles dans une table jointe à elle-même. Par exemple, une société peut disposer d'une table énumérant tous ses produits. Lorsqu'elle décide d'organiser une promotion offrant au client de bénéficier d'une réduction de 50 % sur le second article, elle doit établir une liste de l'ensemble des combinaisons d'articles possibles :
SELECT Product1.'Product Name',
Product2.'Product Name',
FROM 'Product' Product1
'Product' Product2
WHERE Product1.'Product Name' !=
Product2.'Product Name'
Cette instruction SQL ouvre deux fois la table Produits. La première fois, elle reçoit l'alias Product1. La deuxième fois, elle reçoit l'alias Product2. Ensuite, le champ Nom du produit est utilisé pour relier la table Product1 à la table
Product2. Il s'agit de la même table, mais dans la mesure où elle a été ouverte deux fois sous des alias différents,
Crystal Reports considère qu'il s'agit de deux tables distinctes. Une mise en relation Différent de relie les deux tables par l'intermédiaire de leur champ Nom du produit. Par conséquent, chaque produit est successivement relié à tous les autres produits mais jamais avec lui-même :
Product1
Nom du produit
Casque Xtreme pour adulte
Casque Xtreme pour adulte
Casque Xtreme pour adulte
Antivol Xtreme Mtn
Antivol Xtreme Mtn
Antivol Xtreme Mtn
Gants InFlux en lycra
Gants InFlux en lycra
Gants InFlux en lycra
Product2
Nom du produit
Antivol Xtreme Mtn
Gants InFlux en lycra
Selle Roadster Micro Mtn
Casque Xtreme pour adulte
Gants InFlux en lycra
Selle Roadster Micro Mtn
Casque Xtreme pour adulte
Antivol Xtreme Mtn
Selle Roadster Micro Mtn
Guide de l'utilisateur de SAP Crystal Reports pour Enterprise
Sources de données et requêtes
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
157

Public link updated
The public link to your chat has been updated.