DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Editeurs / Editeur de requêtes / Opérations sur les requêtes
  • Présentation
  • Comment le faire ?
  • Ajouter une jointure dans la requête de sélection en cours
  • Supprimer une jointure dans la requête de sélection en cours
  • Notion de jointure externe dans la requête de sélection en cours
  • Editer les conditions d'une jointure dans la requête de sélection en cours
  • Ajouter une condition
  • Limitations et remarques
  • Jointures spécifiques
  • Syntaxe SQL Server des jointures
  • Paramètres avancés
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Jointures entre les fichiers de données d'une requête de sélection
Présentation
Lorsque plusieurs fichiers de données sont utilisés dans une requête, l'éditeur de requêtes recherche automatiquement les liaisons décrites dans l'analyse entre ces fichiers de données. Ces liaisons sont appelées des jointures sous l'éditeur de requêtes.
Par exemple, la requête suivante sélectionne les numéros des commandes passées par les clients habitant à Toulouse. Les fichiers de données COMMANDE et CLIENT sont reliés par la rubrique NumClient. L'éditeur de requêtes a automatiquement défini la jointure entre ces deux fichiers de données.
Exemple de jointure automatique
Remarque : Les liaisons entre les fichiers de données apparaissent dans la représentation graphique de la requête uniquement si les deux fichiers de données reliés sont utilisés par la requête.
Par défaut, l'éditeur de requêtes crée automatiquement les jointures. Cependant, ces jointures peuvent ne pas correspondre au résultat voulu. Il est donc possible d'ajouter ou de supprimer les jointures. Les paragraphes suivants décrivent comment effectuer ces opérations.
Comment le faire ?

Ajouter une jointure dans la requête de sélection en cours

Pour ajouter une jointure dans la requête de sélection en cours :
  1. Sélectionnez l'option "Éditer la jointure" avec un clic droit sur la jointure. La fenêtre de description des jointures de la requête s'affiche.
  2. Cliquez sur le bouton "Ajouter une jointure". Une fenêtre permettant de définir une nouvelle jointure s'affiche.
  3. Spécifiez les caractéristiques de la jointure à ajouter.
  4. Validez. La jointure est automatiquement ajoutée dans la requête.
Il est ainsi possible de créer des jointures multiples entre deux fichiers de données.

Supprimer une jointure dans la requête de sélection en cours

Pour supprimer une jointure dans la requête de sélection en cours :
  1. Sélectionnez l'option "Éditer la jointure" avec un clic droit sur la jointure. La fenêtre de description des jointures de la requête s'affiche.
  2. Sélectionnez la jointure à supprimer.
  3. Cliquez sur le bouton "Supprimer la jointure". La jointure est automatiquement supprimée. Les jointures entre les fichiers de données sont automatiquement optimisées pour conserver le bon fonctionnement de la requête.

Notion de jointure externe dans la requête de sélection en cours

Lors du calcul d'une jointure entre deux fichiers de données (fichier "Parent" et fichier "Fils"), par défaut seuls les enregistrements ayant une correspondance dans les deux fichiers de données sont conservés. Toutefois, il est possible grâce à la notion de "Jointure externe" de définir une règle pour inclure également :
  • les enregistrements du fichier "Parent" qui n'ont pas de correspondance dans le fichier "Fils".
  • les enregistrements du fichier "Fils" qui n'ont pas de correspondance dans le fichier "Parent".
Pour définir une jointure externe dans la requête de sélection en cours :
  1. Sélectionnez l'option "Éditer la jointure" avec un clic droit sur la jointure.
    Editer une jointure
  2. La fenêtre de description des jointures de la requête s'affiche.
  3. Sélectionnez la jointure à modifier.
  4. Sur cette jointure, deux options sont disponibles permettant de définir une jointure externe ("Inclure également").
  5. Sélectionnez la ou les options correspondant au résultat voulu.
    Sélection des options
  6. Validez.

Editer les conditions d'une jointure dans la requête de sélection en cours

Pour éditer les conditions d'une jointure dans la requête de sélection en cours :
  1. Sélectionnez l'option "Éditer la jointure" avec un clic droit sur la jointure.
    Editer la jointure
  2. La fenêtre de description des jointures de la requête s'affiche.
    Description de la jointure
  3. Sélectionnez la jointure à éditer.
  4. Cliquez sur le bouton "Editer les conditions de la jointure". La fenêtre d'édition des conditions s'affiche.
  5. Vous pouvez :
    • Ajouter une nouvelle condition.
    • Modifier une condition.
    • Supprimer une condition.
    • Définir l'enchaînement logique des conditions à l'aide des opérateurs ET, OU et des parenthèses ( et ). Vous devez utiliser le numéro représentant la condition dans la formule. Par exemple, s'il y a 2 conditions, la formule peut être : "1 OU 2".

Ajouter une condition

Pour ajouter une condition :
  1. Cliquez sur le bouton . La fenêtre de création d'une condition s'affiche.
  2. Sélectionnez la rubrique pour laquelle la condition doit être créée (1). Seules les rubriques de type "clé" sont proposées.
  3. Sélectionnez l'opération à réaliser parmi la liste proposée (2).
  4. Sélectionnez le type de l'élément à comparer pour l'opération à réaliser (3) :
    • la valeur : cette option est sélectionnée dans le cas d'une valeur statique (en dur) dans la requête.
    • le paramètre : cette option est sélectionnée dans le cas d'un passage de paramètres lors de l'exécution de la requête.
    • la rubrique : cette option est sélectionnée dans le cas d'une comparaison avec une rubrique d'un autre fichier de la requête. Seules les rubriques de type "clé" sont proposées.
  5. Validez. La condition est ajoutée à la condition précédente.
  6. Pensez à vérifier l'enchaînement logique des conditions ainsi créées.
Limitations et remarques

Jointures spécifiques

Les jointures du type (A Join B on x=y) Join C on y=z ne sont pas gérées.
Pour exécuter des requêtes avec de telles jointures, il est nécessaire d'utiliser la fonction HExécuteRequête ou HExécuteRequêteSQL avec la constante hRequêteSansCorrection.
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindowsConnecteurs Natifs (Accès Natifs)

Syntaxe SQL Server des jointures

La syntaxe SQL Server des jointures est gérée (en édition d'une requête SQL et en exécution). Pour exécuter ces requêtes, il est possible d'utiliser la fonction HExécuteRequête ou HExécuteRequêteSQL.

Paramètres avancés

Par défaut, les jointures utilisent la syntaxe ISO (INNER JOIN / LEFT OUTER JOIN / RIGHT OUTER JOIN / FULL JOIN). Il est possible d'utiliser également la syntaxe Oracle des jointures. Cependant, cette syntaxe compatible avec Oracle 7 n'est pas conseillée.
Pour utiliser la syntaxe Oracle :
  1. Affichez la fenêtre de description de la requête.
  2. Cliquez sur le bouton "Avancé".
  3. Dans l'onglet "Jointures", sélectionnez le type de syntaxe voulue.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 18/01/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale