====== Jointures ====== {{:v8_0_0:designer:menus:accueil:nouvellerequete:pasted:20200618-134344.png?nolink&500}} ===== Jointures standard ===== L'outil ''Ajouter Standard'' permet de créer en automatique les liaisons entre tables : {{:v8_0_0:designer:menus:accueil:nouvellerequete:pasted:20200615-142816.png?nolink}} {{:v8_0_0:designer:menus:accueil:nouvellerequete:pasted:20200615-142856.png?nolink&500}} Lorsques des jointures ont été modifiées ou ajoutées manuellement, il est possible de les ajouter à la bibliothèques des jointures standard Vigilens : il suffit d'utiliser le bouton ''Enregistrement jointures standard'', un écran permet de sélectionner les jointures puis de donner un nom à la jointure. {{:v8_0_0:designer:menus:accueil:nouvellerequete:pasted:20200615-145209.png?nolink}} {{:v8_0_0:designer:menus:accueil:nouvellerequete:pasted:20200615-145526.png?nolink}} ===== Jointures manuelles ===== Si les jointures nécessaires ne sont pas connues de Vigilens, il faut spécifier manuellement ces liens. ==== Ajouter ==== On choisit le premier champ de la jointure, le type de relation, puis le deuxième champ. {{:v8_0_0:designer:menus:accueil:nouvellerequete:pasted:20200615-143320.png?nolink&500}} ==== Type de jointure ==== On peut choisir d'avoir une jointure ouverte ou fermée. {{:v8_0_0:designer:menus:accueil:nouvellerequete:pasted:20200615-143448.png?nolink&500}} ===== Conditions sur les jointures ===== {{:v8_0_0:designer:menus:accueil:nouvellerequete:pasted:20200615-155508.png?nolink&500}} ==== Cas d'usage ==== Bien que très semblable, cette section ne doit pas être confondue avec l'écran "Extraction selon la règle suivante". Les filtres indiqués ici seront appliqué __avant__ que la jointure ne soit faite. Cette distinction est importante dans le cas où il y a des jointures ouvertes, car le résultat ne serait pas le même. Du point de vue SQL, c'est la différence qu'il y a entre SELECT Parent.*, Child.* FROM Parent LEFT JOIN Child ON Child.Id = Parent.Id AND Child.Name = 'Barnabé' et SELECT Parent.*, Child.* FROM Parent LEFT JOIN Child ON Child.Id = Parent.Id WHERE Child.Name = 'Barnabé' Le premier cas équivaut à mettre la condition sur la jointure : on récupérera dans la sélection tous les parents, et leurs enfants s'ils s'appellent Barnabé. Le deuxième cas équivaut à mettre la condition sur l'écran "Extraction selon la règle suivante". On ne récupérera que les parents qui ont un enfant s'appelant Barnabé. Le filtre a "tué" la jointure ouverte. ==== Edition des critères ==== [[v8_0_0:designer:menus:accueil:nouvellerequete:criteres|Voir la page dédiée]] ==== Conditions générales ==== Une condition peut être transférée dans la liste des conditions générales. {{:v8_0_0:designer:menus:accueil:nouvellerequete:pasted:20200615-165046.png?nolink}}