Bonjour.
J'aimerais savoir s'il est possible de lister les enregistrements d'une table n'ayant aucun correspondant dans une autre table liée. Je m'explique à l'aide d'un exemple.
Soit une base de données contenant deux tables. La première table (table 1, ou TableVille) ne contient qu'un seul champ : NomVille (clé primaire). La deuxième table (table N ou TableClient) contient deux champs : NomVille, plus un champ NomClient (clé primaire). Je crée la relation 1/N (avec cascade) au moyen du champ NomVille, commun aux deux tables.
Ma question est la suivante. Est-il possible d'obtenir la liste des enregistrements de la table 1 ne possédant aucun correspondant dans la table N ? Autrement dit, comment faire pour produire la liste des villes dans lesquelles n'habite aucun client ?
J'ai essayé à plusieurs reprises de créer un requête (en réglant le champ NomClient sur "is empty"), mais ça ne marche pas... C'est probablement pas la bonne méthode.
Merci d'avance pour votre aide.
[Résolu] Rech. enregistr. sans corresp. dans table liée
Modérateur : Vilains modOOs
Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
-
- Membre hOOnoraire
- Messages : 192
- Inscription : 18 nov. 2006 18:43
- Localisation : France - Nîmes (Gard)
[Résolu] Rech. enregistr. sans corresp. dans table liée
Dernière modification par yves30 le 08 oct. 2008 08:01, modifié 2 fois.
LibreOffice 7.6.5 Officielle, Mint 21.3 XFCE, PC Bureau Pentium dualcore G4400, 64 bits, 8 Go
-
- NéOOphyte
- Messages : 62
- Inscription : 18 sept. 2008 17:00
Re: Recherche enregistrem. sans correspondant dans table liée
bonjour
je pense comprendre ce que tu veux faire mais pour bien faire il serait bien de mettre a dispo une table pour l'exemple
pour savoir les villes ou il n'y a pas d'habitant je pense que le mieux serais de faire une requête regroupement pour compter les personne dans chaque ville et de faire un filtre sur les villes sans habitant
je pense que ce doit etre ca que tu veux faire
par contre si tu as une table sous la main je veux bien te faire un exemple
bonne journée
je pense comprendre ce que tu veux faire mais pour bien faire il serait bien de mettre a dispo une table pour l'exemple
pour savoir les villes ou il n'y a pas d'habitant je pense que le mieux serais de faire une requête regroupement pour compter les personne dans chaque ville et de faire un filtre sur les villes sans habitant
je pense que ce doit etre ca que tu veux faire
par contre si tu as une table sous la main je veux bien te faire un exemple
bonne journée
openoffice 2.4.1 ; windows xp
openoffice 2.3 linux (ubuntu)
openoffice 2.3 linux (ubuntu)
-
- Membre hOOnoraire
- Messages : 192
- Inscription : 18 nov. 2006 18:43
- Localisation : France - Nîmes (Gard)
Re: Recherche enregistrem. sans correspondant dans table liée
Bonjour Leo42, et merci pour l'aide que tu proposes.
Je mets un exemple (très simple) en ligne. Dans cette base (VilleClient), je souhaite donc faire apparaître les villes ne possédant aucun client, à savoir : Lille, Lyon et Toulouse.
Amicales salutations.
Je mets un exemple (très simple) en ligne. Dans cette base (VilleClient), je souhaite donc faire apparaître les villes ne possédant aucun client, à savoir : Lille, Lyon et Toulouse.
Amicales salutations.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.6.5 Officielle, Mint 21.3 XFCE, PC Bureau Pentium dualcore G4400, 64 bits, 8 Go
-
- NéOOphyte
- Messages : 62
- Inscription : 18 sept. 2008 17:00
Re: Recherche enregistrem. sans correspondant dans table liée
bonjour
voici une solution qui je pense te conviendra
j'avoue que j'ai mis 5 min a comprendre pourquoi une simple requête avec regroupement ne fonctionnais pas
et puis je me mon voisin a du entendre un :" MAIS TU EST VRAIMENT C..............."
car c'était simplement les propriétés de la jointure qu'il fallait changer
il faut donc la passé jointure en jointure a droite
et voila ca marche lol
voici une solution qui je pense te conviendra
j'avoue que j'ai mis 5 min a comprendre pourquoi une simple requête avec regroupement ne fonctionnais pas
et puis je me mon voisin a du entendre un :" MAIS TU EST VRAIMENT C..............."
car c'était simplement les propriétés de la jointure qu'il fallait changer
il faut donc la passé jointure en jointure a droite
et voila ca marche lol
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
openoffice 2.4.1 ; windows xp
openoffice 2.3 linux (ubuntu)
openoffice 2.3 linux (ubuntu)
-
- Membre hOOnoraire
- Messages : 192
- Inscription : 18 nov. 2006 18:43
- Localisation : France - Nîmes (Gard)
Re: Recherche enregistrem. sans correspondant dans table liée
Merci pour ton aide.
Je vais étudier cela de plus près...
Amicalement.
Je vais étudier cela de plus près...
Amicalement.
LibreOffice 7.6.5 Officielle, Mint 21.3 XFCE, PC Bureau Pentium dualcore G4400, 64 bits, 8 Go
-
- Membre hOOnoraire
- Messages : 192
- Inscription : 18 nov. 2006 18:43
- Localisation : France - Nîmes (Gard)
Re: Recherche enregistrem. sans correspondant dans table liée
Bonjour Leo42,
Ce simple petit mot pour te confirmer que ta solution fonctionne à merveille. Je l'ai essayée dans plusieurs bases, et c'est très pratique. En fait j'ignorais totalement que l'on pouvait modifier la jointure des tables ou des requêtes affichées au sein d'une requête... Il faudra que je creuse la question.
Quoi qu'il en soit, encore une fois, merci pour ton aide.
Bien amicalement.
Ce simple petit mot pour te confirmer que ta solution fonctionne à merveille. Je l'ai essayée dans plusieurs bases, et c'est très pratique. En fait j'ignorais totalement que l'on pouvait modifier la jointure des tables ou des requêtes affichées au sein d'une requête... Il faudra que je creuse la question.
Quoi qu'il en soit, encore une fois, merci pour ton aide.
Bien amicalement.
Dernière modification par yves30 le 10 oct. 2008 20:26, modifié 1 fois.
LibreOffice 7.6.5 Officielle, Mint 21.3 XFCE, PC Bureau Pentium dualcore G4400, 64 bits, 8 Go
-
- Grand Maître de l'OOffice
- Messages : 11276
- Inscription : 02 mai 2006 08:42
Re: Recherche enregistrem. sans correspondant dans table liée
Bonjour
Cette solution, uniquement fondée sur la jointure, présente l'avantage de ne pas passer par les étapes de regroupement et comptage, nécessairement gourmandes en ressources...
Dans ce cas je procèderais plutôt ainsi :yves30 a écrit :je souhaite donc faire apparaître les villes ne possédant aucun client, à savoir : Lille, Lyon et Toulouse.
Cette solution, uniquement fondée sur la jointure, présente l'avantage de ne pas passer par les étapes de regroupement et comptage, nécessairement gourmandes en ressources...
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- Membre hOOnoraire
- Messages : 192
- Inscription : 18 nov. 2006 18:43
- Localisation : France - Nîmes (Gard)
Re: [Résolu] Rech. enregistr. sans corresp. dans table liée
Merci pour cette info supplémentaire, Pierre-Yves. Je vais l'étudier aussi.
Cordialement
Cordialement
LibreOffice 7.6.5 Officielle, Mint 21.3 XFCE, PC Bureau Pentium dualcore G4400, 64 bits, 8 Go