[Résolu] Requête avec Critères de sélection & Regroupements.
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 OOrganisé
- Messages : 53
- Inscription : 31 oct. 2018 14:32
[Résolu] Requête avec Critères de sélection & Regroupements.
Bonjour à tous !
Dans une table de coordonnées de personnes (FIREBIRD), j'ai une trentaine de champs
Particulièrement ceux qui m'intéressent, pour réaliser une requête :
Le code Insee de la commune, le nom de la commune, le libellé de la voie, le N° de la Voie, Le nom du contact, le prénom du contact, l'âge du contact.
Le but est de n'envoyer qu'un courrier postal par adresse, en ciblant le nom de famille, et en choisissant la personne la plus âgée du foyer.
J'ai tenté de faire des fonctions de regroupements, une fonction "minimum" sur le champ date de naissance...
Ma requête fonctionne, mais n'est pas correcte.
Dans le résultat de ma requête, j'aimerais avoir tous les champs, et je ne sais pas quelle fonction utiliser sur ces champs.
Je vous remercie infiniment de me donner une piste, je tenterai de suivre vos conseils.
Nota : Je ne peux pas vous fournir la base pour des raisons de confidentialité.
Dans une table de coordonnées de personnes (FIREBIRD), j'ai une trentaine de champs
Particulièrement ceux qui m'intéressent, pour réaliser une requête :
Le code Insee de la commune, le nom de la commune, le libellé de la voie, le N° de la Voie, Le nom du contact, le prénom du contact, l'âge du contact.
Le but est de n'envoyer qu'un courrier postal par adresse, en ciblant le nom de famille, et en choisissant la personne la plus âgée du foyer.
J'ai tenté de faire des fonctions de regroupements, une fonction "minimum" sur le champ date de naissance...
Ma requête fonctionne, mais n'est pas correcte.
Dans le résultat de ma requête, j'aimerais avoir tous les champs, et je ne sais pas quelle fonction utiliser sur ces champs.
Je vous remercie infiniment de me donner une piste, je tenterai de suivre vos conseils.
Nota : Je ne peux pas vous fournir la base pour des raisons de confidentialité.
Dernière modification par Calife le 16 sept. 2025 10:40, modifié 2 fois.
LibreOffice 25.8.1.1 - Java (JRE) Eclipse Adoptium 24.0.2 - Mac OS Séquoia 15.3.2 - Processeur 3,5 GHz Intel Core i7 - CG AMD Radeon RX 580 8Go - Mémoire 16Go
-
- RespOOnsable forum
- Messages : 9899
- Inscription : 28 août 2010 08:45
Re: Requête avec Critères de sélection & Regroupements.
Bonjour,
Ceci dans le but de faciliter le travail des bénévoles qui pourront ainsi, en évitant de jouer aux devinettes, vous proposer les réponses les mieux adaptées.
Comment dépersonnaliser un document
Cordialement,
Si c'est parce qu'il s'agit de données confidentielles, vous pouvez fabriquer un fichier-test rendu anonyme afin de ne pas divulguer d'informations sensibles.
Ceci dans le but de faciliter le travail des bénévoles qui pourront ainsi, en évitant de jouer aux devinettes, vous proposer les réponses les mieux adaptées.
Comment dépersonnaliser un document
Cordialement,
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
-
- Membre OOrganisé
- Messages : 53
- Inscription : 31 oct. 2018 14:32
Re: Requête avec Critères de sélection & Regroupements.
Bonjour MicMac, bonjour à tous
Effectivement, je vais tâcher de fournir une base avec des enregistrements adéquats, vous permettant de m'aider.
Merci infiniment !
Effectivement, je vais tâcher de fournir une base avec des enregistrements adéquats, vous permettant de m'aider.
Merci infiniment !
LibreOffice 25.8.1.1 - Java (JRE) Eclipse Adoptium 24.0.2 - Mac OS Séquoia 15.3.2 - Processeur 3,5 GHz Intel Core i7 - CG AMD Radeon RX 580 8Go - Mémoire 16Go
-
- Membre OOrganisé
- Messages : 53
- Inscription : 31 oct. 2018 14:32
Re: Requête avec Critères de sélection & Regroupements.
Voilà, ci-jointe une ébauche de base pour vous permettre de m'aider.
La requête n'est là que pour vous faciliter la tâche (J'espère), pour m'indiquer la manière de m'y prendre, merci !
Je sais que ce n'est pas une bonne pratique sur le forum, mais j'ai deux autres questions, l'une qui est liée à l'envoi de mon fichier joint, l'autre qui est d'un ordre différent du sujet :
1ère Question - je suis parti de ma base réelle pour faire l'exemple, j'ai supprimé des enregistrements (environ 300'000 !)
j'en ai gardé un peu moins de 70
Quand j'ai sauvegardé la nouvelle, enregistrements modifiés, elle faisait plus de 44 Mo !
Je ne pouvais donc pas la joindre.
J'ai créé une nouvelle base, et copié/collé la table et la requête de l'une vers l'autre,
et la nouvelle ne faisait que 8 Ko. j'ai lu quelque part qu'on ne peut pas compresser une base Firebird..
Je me trompe, ou il y a une astuce ?
2ème Question - Dans ma requête, les dates s'affichent sous le format jj/mm/aa & j'aimerais jj/mm/aaaa (Comme dans la table)
Sous HSQLBD il me semble que quand les champs Date sont sous ce format dans la table, dans la requêtes aussi...
(Je sais qu'avec un clic droit sur la colonne date de la requête, je peux visualiser le bon format, mais si je pouvais m'en passer...)
Pour Info, je suis passé sous Firebird, car sous HSQLBD, la gestion de la base était infernale, d'une lenteur insupportable (Tout en mémoire ?) alors que sous Firebird, tout passe crème et rapidement.
Bon, la base complète comporte environ 380'000 enregistrements.
Je vous prie de m'excuser d'avoir mélangé "un peu" plusieurs sujets !
La requête n'est là que pour vous faciliter la tâche (J'espère), pour m'indiquer la manière de m'y prendre, merci !
Je sais que ce n'est pas une bonne pratique sur le forum, mais j'ai deux autres questions, l'une qui est liée à l'envoi de mon fichier joint, l'autre qui est d'un ordre différent du sujet :
1ère Question - je suis parti de ma base réelle pour faire l'exemple, j'ai supprimé des enregistrements (environ 300'000 !)
j'en ai gardé un peu moins de 70
Quand j'ai sauvegardé la nouvelle, enregistrements modifiés, elle faisait plus de 44 Mo !
Je ne pouvais donc pas la joindre.
J'ai créé une nouvelle base, et copié/collé la table et la requête de l'une vers l'autre,
et la nouvelle ne faisait que 8 Ko. j'ai lu quelque part qu'on ne peut pas compresser une base Firebird..
Je me trompe, ou il y a une astuce ?
2ème Question - Dans ma requête, les dates s'affichent sous le format jj/mm/aa & j'aimerais jj/mm/aaaa (Comme dans la table)
Sous HSQLBD il me semble que quand les champs Date sont sous ce format dans la table, dans la requêtes aussi...
(Je sais qu'avec un clic droit sur la colonne date de la requête, je peux visualiser le bon format, mais si je pouvais m'en passer...)
Pour Info, je suis passé sous Firebird, car sous HSQLBD, la gestion de la base était infernale, d'une lenteur insupportable (Tout en mémoire ?) alors que sous Firebird, tout passe crème et rapidement.
Bon, la base complète comporte environ 380'000 enregistrements.
Je vous prie de m'excuser d'avoir mélangé "un peu" plusieurs sujets !
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 25.8.1.1 - Java (JRE) Eclipse Adoptium 24.0.2 - Mac OS Séquoia 15.3.2 - Processeur 3,5 GHz Intel Core i7 - CG AMD Radeon RX 580 8Go - Mémoire 16Go
-
- PassiOOnné
- Messages : 721
- Inscription : 20 déc. 2017 14:45
Re: Requête avec Critères de sélection & Regroupements.
Bonjour,
Sans doute, ce qui fait que vous n'arrivez pas à vos fins avec une requête.
Firebird est-il toujours déclaré comme fonction expérimentale dans Libre Office ?
30 champs, c'est énorme. Je pense qu'il y a un problème de structure dans votre table.
Sans doute, ce qui fait que vous n'arrivez pas à vos fins avec une requête.
OpenOffice 4.1.15 - Windows 10
-
- Membre OOrganisé
- Messages : 53
- Inscription : 31 oct. 2018 14:32
Re: Requête avec Critères de sélection & Regroupements.
Oui, 30 champs, c'est énorme...
Table issue d'un fichier CSV que l'on m'a fourni, donc aucune structure logique, et travail dans l'urgence...
Il faut absolument que je me débrouille avec ça, pas le temps de créer des tables comme par exemple celles des communes et de reprendre la table Contacts...
Le but étant de faire du publipostage suivant différents critères.
Je dois rendre ma copie début de semaine prochaine et nous sommes Samedi... Insurmontable de revoir le tout.
D'autant plus que ma requête est très simplifiée, j'aurai d'autres critères, mais ceux que j'ai énoncés sont essentiels
Si je n'avais qu'une petite dizaine de champs, dont la date, le problème resterait entier.
Pour Firebird, oui, toujours expérimental...
Mais comme je l'ai dit, avec HSQLDB , ingérable ce volume de données.
Je n'ai pas l'explication, mais avec Firebird, ça fonce...
A noter :
J'avais essayé sous HSQLDB, de créer des tables connectées à des fichiers externes CSV, et ça marchait du feu de dieu...
Mais impossible de relier ces tables, ou je n'ai pas su...
je ne suis qu'un amateur, je rends des services à mon associations à mon niveau...
Table issue d'un fichier CSV que l'on m'a fourni, donc aucune structure logique, et travail dans l'urgence...
Il faut absolument que je me débrouille avec ça, pas le temps de créer des tables comme par exemple celles des communes et de reprendre la table Contacts...
Le but étant de faire du publipostage suivant différents critères.
Je dois rendre ma copie début de semaine prochaine et nous sommes Samedi... Insurmontable de revoir le tout.
D'autant plus que ma requête est très simplifiée, j'aurai d'autres critères, mais ceux que j'ai énoncés sont essentiels
Si je n'avais qu'une petite dizaine de champs, dont la date, le problème resterait entier.
Pour Firebird, oui, toujours expérimental...
Mais comme je l'ai dit, avec HSQLDB , ingérable ce volume de données.
Je n'ai pas l'explication, mais avec Firebird, ça fonce...
A noter :
J'avais essayé sous HSQLDB, de créer des tables connectées à des fichiers externes CSV, et ça marchait du feu de dieu...
Mais impossible de relier ces tables, ou je n'ai pas su...
je ne suis qu'un amateur, je rends des services à mon associations à mon niveau...
LibreOffice 25.8.1.1 - Java (JRE) Eclipse Adoptium 24.0.2 - Mac OS Séquoia 15.3.2 - Processeur 3,5 GHz Intel Core i7 - CG AMD Radeon RX 580 8Go - Mémoire 16Go
-
- PassiOOnné
- Messages : 721
- Inscription : 20 déc. 2017 14:45
Re: Requête avec Critères de sélection & Regroupements.
ExempleCalife a écrit : ↑12 sept. 2025 16:39en ciblant le nom de famille, et en choisissant la personne la plus âgée du foyer.
J'ai tenté de faire des fonctions de regroupements, une fonction "minimum" sur le champ date de naissance...
Ma requête fonctionne, mais n'est pas correcte.
Dans le résultat de ma requête, j'aimerais avoir tous les champs, et je ne sais pas quelle fonction utiliser sur ces champs.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.15 - Windows 10
-
- Membre OOrganisé
- Messages : 53
- Inscription : 31 oct. 2018 14:32
Re: Requête avec Critères de sélection & Regroupements.
@rollmops :
Bonsoir,
Il y a un petit problème dans SQL, pas de faute de syntaxe, mais la sélection n'est pas bonne.
Rappel au cas où, la base est sous Firebird, pas HSQLDB
Peut-être (probablement) que je ne me suis pas bien expliqué dans ce que je désire obtenir...
Je considère qu'au même N° de la même voie, deux ou plusieurs foyers peuvent résider dans des appartements différents.
Je considère qu'avec un même patronyme, au même N° de la Même voie, les personnes font partie du même foyer.
Tant pis pour moi si ce n'est pas le cas, qui doit être très rare.
Pour mieux s'en rendre compte, clic gauche sur la colonne "Libellé de voie", et trier par ordre croissant, et ceci dans la table comme dans la requête.
En comparant les deux, on peut constater par exemple que pour la voie "CHEMIN DU MILIEU", il n'y a qu'un enregistrement dans la requête, alors qu'il y en a deux dans la table, le Numéro de voie est différent, les personnes n'habitent pas au même N°
Pour la voie "IMPASSE IMPAIRE", seule la personne la plus âgée a été prise en compte.
J'ai fait exprès aussi de mettre deux personnes qui ont la même date de naissance dans cette rue, pour voir ce qu'il se passe...
Merci pour votre aide, vraiment sympa !!
J'essaie de comprendre de mon côté... Mais je ne me fais pas trop d'illusions...
Bonsoir,
Il y a un petit problème dans SQL, pas de faute de syntaxe, mais la sélection n'est pas bonne.
Rappel au cas où, la base est sous Firebird, pas HSQLDB
Peut-être (probablement) que je ne me suis pas bien expliqué dans ce que je désire obtenir...
Je considère qu'au même N° de la même voie, deux ou plusieurs foyers peuvent résider dans des appartements différents.
Je considère qu'avec un même patronyme, au même N° de la Même voie, les personnes font partie du même foyer.
Tant pis pour moi si ce n'est pas le cas, qui doit être très rare.
Pour mieux s'en rendre compte, clic gauche sur la colonne "Libellé de voie", et trier par ordre croissant, et ceci dans la table comme dans la requête.
En comparant les deux, on peut constater par exemple que pour la voie "CHEMIN DU MILIEU", il n'y a qu'un enregistrement dans la requête, alors qu'il y en a deux dans la table, le Numéro de voie est différent, les personnes n'habitent pas au même N°
Pour la voie "IMPASSE IMPAIRE", seule la personne la plus âgée a été prise en compte.
J'ai fait exprès aussi de mettre deux personnes qui ont la même date de naissance dans cette rue, pour voir ce qu'il se passe...
Merci pour votre aide, vraiment sympa !!
J'essaie de comprendre de mon côté... Mais je ne me fais pas trop d'illusions...
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 25.8.1.1 - Java (JRE) Eclipse Adoptium 24.0.2 - Mac OS Séquoia 15.3.2 - Processeur 3,5 GHz Intel Core i7 - CG AMD Radeon RX 580 8Go - Mémoire 16Go
-
- Grand Maître de l'OOffice
- Messages : 17191
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: Requête avec Critères de sélection & Regroupements.
Bonjour,
Pour Chemin du milieu, j'affiche les deux enregistrements, par contre pour Chemin de l'âne, j'en ai plusieurs par numéros de voie, dans ce premier test. Il vaudrait mieux, pour le traitement des données par SQL, que les noms des champs ne comportent ni espaces, ni lettres accentuées.
Pour Chemin du milieu, j'affiche les deux enregistrements, par contre pour Chemin de l'âne, j'en ai plusieurs par numéros de voie, dans ce premier test. Il vaudrait mieux, pour le traitement des données par SQL, que les noms des champs ne comportent ni espaces, ni lettres accentuées.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par jeanmimi le 13 sept. 2025 19:22, modifié 1 fois.
LibreOffice : Version : 25.8.0.4 (x64)(1 septembre 2025)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- Membre OOrganisé
- Messages : 53
- Inscription : 31 oct. 2018 14:32
Re: Requête avec Critères de sélection & Regroupements.
@ Jeanmimi
Ah ouiiii ! On y est presque !!!
Effectivement, "CHEMIN DE L'ÂNE", il ne devrait y avoir qu'une ligne pour "LEFEBVRE", car même nom et strictement même adresse.
Vous êtes formidables !!!
Mille mercis à vous tous, je suis sûr que vous allez me trouver la solution !
Bravissimo !!!
Ah ouiiii ! On y est presque !!!
Effectivement, "CHEMIN DE L'ÂNE", il ne devrait y avoir qu'une ligne pour "LEFEBVRE", car même nom et strictement même adresse.
Vous êtes formidables !!!
Mille mercis à vous tous, je suis sûr que vous allez me trouver la solution !
Bravissimo !!!
LibreOffice 25.8.1.1 - Java (JRE) Eclipse Adoptium 24.0.2 - Mac OS Séquoia 15.3.2 - Processeur 3,5 GHz Intel Core i7 - CG AMD Radeon RX 580 8Go - Mémoire 16Go
-
- Grand Maître de l'OOffice
- Messages : 17191
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: Requête avec Critères de sélection & Regroupements.
Les fonctions SQL de Firebird sont listées ici :
https://www.firebirdsql.org/en/sql-conformance/
Voici la requête avec les Groupements : rollmops avait proposé une requête entre la Table et la première Requête avec la fonction IN ou INNER en SQL Firebird. C'est une piste à voir.
Pour n'avoir qu'un seul âge MAX par adresse, donc un seul enregistrement pour le 11 Chemin de l'Ane, voici la requête :
https://www.firebirdsql.org/en/sql-conformance/
Voici la requête avec les Groupements : rollmops avait proposé une requête entre la Table et la première Requête avec la fonction IN ou INNER en SQL Firebird. C'est une piste à voir.
Pour n'avoir qu'un seul âge MAX par adresse, donc un seul enregistrement pour le 11 Chemin de l'Ane, voici la requête :
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 25.8.0.4 (x64)(1 septembre 2025)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- Membre OOrganisé
- Messages : 53
- Inscription : 31 oct. 2018 14:32
Re: Requête avec Critères de sélection & Regroupements.
Bonjour à tous !
Merci jeanmimi !
Je me suis inspiré de ta méthode, il faut que je tienne compte également du patronyme du contact.
(Un seul contact retenu par foyer, même Nom de Contact à la même adresse)
J'ai fait une requête qui a l'air de fonctionner, certainement pas la plus élégante qui soit...

Il doit bien y avoir mieux !
Pour faciliter la comparaison, j'ai fait deux requêtes dont les tris et agencement des champs sont identiques.
1 requête avec tous les contacts
1 requête avec les critères recherchés.
Merci encore pour votre aide !
Merci jeanmimi !
Je me suis inspiré de ta méthode, il faut que je tienne compte également du patronyme du contact.
(Un seul contact retenu par foyer, même Nom de Contact à la même adresse)
J'ai fait une requête qui a l'air de fonctionner, certainement pas la plus élégante qui soit...


Il doit bien y avoir mieux !
Pour faciliter la comparaison, j'ai fait deux requêtes dont les tris et agencement des champs sont identiques.
1 requête avec tous les contacts
1 requête avec les critères recherchés.
Merci encore pour votre aide !
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Calife le 14 sept. 2025 13:31, modifié 1 fois.
LibreOffice 25.8.1.1 - Java (JRE) Eclipse Adoptium 24.0.2 - Mac OS Séquoia 15.3.2 - Processeur 3,5 GHz Intel Core i7 - CG AMD Radeon RX 580 8Go - Mémoire 16Go
-
- RespOOnsable forum
- Messages : 12709
- Inscription : 08 nov. 2005 16:23
- Localisation : Brest, France
Re: Requête avec Critères de sélection & Regroupements.
Comment clore un sujet
Vous devriez fournir vos requêtes directement dans le message afin que le moteur de recherche du forum puisse les indexer.
Cela facilitera les recherches ultérieures.
Vous devriez fournir vos requêtes directement dans le message afin que le moteur de recherche du forum puisse les indexer.
Cela facilitera les recherches ultérieures.
-
- Membre OOrganisé
- Messages : 53
- Inscription : 31 oct. 2018 14:32
Re: Requête avec Critères de sélection & Regroupements.
@ Bidouille :
Je crois que j'ai mal compris...
J'ai mis la base et pas la requête dans mon dernier message.
De quelle manière mettre une requête dans le texte, comme ci-dessous ?
Je crois que j'ai mal compris...
J'ai mis la base et pas la requête dans mon dernier message.
De quelle manière mettre une requête dans le texte, comme ci-dessous ?
Code : Tout sélectionner
SELECT "code du l'ugle" "Code_Ugle", "Libellé de voie" "Lib_Voie", "numéro de voie" "Num_Voie", "Nom Choisi" "Nom_Choisi",
MIN( "date_de_naissance" ) "Date_Naissance",
MIN( "ID" ) "Id_Contact",
MIN( "code du département" ) "Code_Departement",
MIN( "libellé de l'ugle" ) "Lib_Ugle",
MIN( "prénoms" ) "Prenom",
MIN( "sexe" ) "Sexe",
MIN( "Titre" ) "Titre",
MIN( "code commune de naissance" ) "Code_Comm_Naissance",
MIN( "libellé commune de naissance" ) "Lib_Comm_Naissance",
MIN( "code département naissance" ) "Code_Depart_Naissance",
MIN( "pays de naissance" ) "Pays_Naissance",
MIN( "libellé nationalité" ) "Lib_Nationalite",
MIN( "complément 1" ) "Complement_Adress_1",
MIN( "complément 2" ) "Complement_Adress_2",
MIN( "lieu-dit" ) "Lieu_Dit",
MIN( "code postal" ) "CodePost",
MIN( "commune" ) "Commune",
MIN( "pays" ) "Pays"
FROM "Contacts"
GROUP BY "Contacts"."code du l'ugle", "Contacts"."Libellé de voie", "Contacts"."numéro de voie", "Contacts"."Nom Choisi"
ORDER BY "Lib_Voie" ASC, "Num_Voie" ASC, "Nom_Choisi" ASC, "Date_Naissance" ASC
LibreOffice 25.8.1.1 - Java (JRE) Eclipse Adoptium 24.0.2 - Mac OS Séquoia 15.3.2 - Processeur 3,5 GHz Intel Core i7 - CG AMD Radeon RX 580 8Go - Mémoire 16Go
-
- Grand Maître de l'OOffice
- Messages : 17191
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: Requête avec Critères de sélection & Regroupements.
En utilisant ta Table des Contacts et la requête que j'avais jointe précédemment, j'ai créé comme toi une nouvelle requête ; si tu veux bien la tester :
Voici la base :
Code : Tout sélectionner
SELECT "Contacts".* FROM "Req_AGE_MAX_PAR_ADRESSE", "Contacts"
WHERE
"Req_AGE_MAX_PAR_ADRESSE"."AGE_MAX" = "Contacts"."date_de_naissance"
AND
"Req_AGE_MAX_PAR_ADRESSE"."numéro de voie" = "Contacts"."numéro de voie"
AND
"Req_AGE_MAX_PAR_ADRESSE"."Libellé de voie" = "Contacts"."Libellé de voie"
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 25.8.0.4 (x64)(1 septembre 2025)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- Membre OOrganisé
- Messages : 53
- Inscription : 31 oct. 2018 14:32
Re: Requête avec Critères de sélection & Regroupements.
J'essaie dès demain aux aurores, Jeanmimi !
je viens quand même de télécharger ta base, essayé, et il me semble que c'est très restrictif, qu'il manque des données.
Mais il faut vraiment que je regarde de près, et je dois partir pour la soirée...
Je verrai celà, ça a l'air super.
Encore merci pour l'aide !!!

je viens quand même de télécharger ta base, essayé, et il me semble que c'est très restrictif, qu'il manque des données.
Mais il faut vraiment que je regarde de près, et je dois partir pour la soirée...
Je verrai celà, ça a l'air super.
Encore merci pour l'aide !!!




LibreOffice 25.8.1.1 - Java (JRE) Eclipse Adoptium 24.0.2 - Mac OS Séquoia 15.3.2 - Processeur 3,5 GHz Intel Core i7 - CG AMD Radeon RX 580 8Go - Mémoire 16Go
-
- Membre OOrganisé
- Messages : 53
- Inscription : 31 oct. 2018 14:32
Re: Requête avec Critères de sélection & Regroupements.
Bonjour à tous !
@ jeanmimi
Merci mille fois pour ton aide, j'ai modifié tes requêtes, car il faut que je tienne compte du fait que plusieurs foyers différents peuvent habiter à la même adresse (Bâtiments avec plusieurs logements), et considérer que ceux qui portent le même nom habitent dans le même logement.
Le but de ma requête est de réduire au maximum les coûts d'envois de courriers postaux.
L'économie n'est pas négligeable, compte tenu du nombre très élevé de contacts dans ma base de données réelle.
Il y a une petite faille, car plusieurs familles qui portent le même nom peuvent habiter des logements différents à la même adresse.
Mais personne n'est devin, et si le cas cité à la ligne précédente s'avère, il n'y aura pas beaucoup "d'oubliés"...
Dans la base jointe, j'ai laissé tes requête en rajoutant "_Jeanmi" à la fin
Les miennes se terminent par "_Calife"
A noter :
J'ai dû raccourcir le nom de la requête "_Req_AGE_MAX_PAR_ADRESSE_Jeanmi" (J'avais mis 'Jeanmimi' à la fin)
J'ai eu un message d'erreur lors de l'éxécution de la requête :
"firebird_sdbc error:
*Dynamic SQL Error
*SQL error code = -104
*Name longer than database column size
caused by
'isc_dsql_prepare'
J'ai le même problème avec ma base réelle, je croyais que ça venait de la longueur de mes champs dans la Table, mais non !
ça vient de la longueur du nom de la requête... qui influe sur la limite à 30 caractères maxi dans le langage SQL
Le problème arrive lorsque l'on veut mettre une jointure, le message est équivoque...
Il parle bien de la longueur du Nom, mais de la taille d'une colonne de la base.
Comme j'interprète à ma manière, si quelqu'un pouvait m'explique...
Requête de recherche des ID des contacts par adresse, en n'en sélectionnant qu'un seul s'ls portent le même nom, et privilégiant celui qui est le plus âgé :
Requête finale avec toutes les informations des contacts sélectionnés :
Ces deux requêtes fonctionnent et donnent les résultats attendus me semble-t-il...
Encore un immense merci à tous ceux qui m'ont aidé à régler mon problème, que je n'aurais jamais résolu seul !
Je mettrai ce sujet comme [RÉSOLU], si vous pensez que je ne me trompe pas.
@ jeanmimi
Merci mille fois pour ton aide, j'ai modifié tes requêtes, car il faut que je tienne compte du fait que plusieurs foyers différents peuvent habiter à la même adresse (Bâtiments avec plusieurs logements), et considérer que ceux qui portent le même nom habitent dans le même logement.
Le but de ma requête est de réduire au maximum les coûts d'envois de courriers postaux.
L'économie n'est pas négligeable, compte tenu du nombre très élevé de contacts dans ma base de données réelle.
Il y a une petite faille, car plusieurs familles qui portent le même nom peuvent habiter des logements différents à la même adresse.
Mais personne n'est devin, et si le cas cité à la ligne précédente s'avère, il n'y aura pas beaucoup "d'oubliés"...
Dans la base jointe, j'ai laissé tes requête en rajoutant "_Jeanmi" à la fin
Les miennes se terminent par "_Calife"
A noter :
J'ai dû raccourcir le nom de la requête "_Req_AGE_MAX_PAR_ADRESSE_Jeanmi" (J'avais mis 'Jeanmimi' à la fin)
J'ai eu un message d'erreur lors de l'éxécution de la requête :
"firebird_sdbc error:
*Dynamic SQL Error
*SQL error code = -104
*Name longer than database column size
caused by
'isc_dsql_prepare'
J'ai le même problème avec ma base réelle, je croyais que ça venait de la longueur de mes champs dans la Table, mais non !
ça vient de la longueur du nom de la requête... qui influe sur la limite à 30 caractères maxi dans le langage SQL
Le problème arrive lorsque l'on veut mettre une jointure, le message est équivoque...
Il parle bien de la longueur du Nom, mais de la taille d'une colonne de la base.
Comme j'interprète à ma manière, si quelqu'un pouvait m'explique...


Requête de recherche des ID des contacts par adresse, en n'en sélectionnant qu'un seul s'ls portent le même nom, et privilégiant celui qui est le plus âgé :
Code : Tout sélectionner
SELECT "Libellé de voie", "numéro de voie", "Nom Choisi", "code du l'ugle" "CODE_UGLE",
MIN( "date_de_naissance" ) "AGE_MAX",
MIN( "ID" ) "ID_ELECTEUR" FROM "Contacts"
GROUP BY "Contacts"."Libellé de voie", "Contacts"."numéro de voie", "Contacts"."Nom Choisi", "Contacts"."code du l'ugle"
ORDER BY "Libellé de voie" ASC, "numéro de voie" ASC, "Nom Choisi" ASC, "CODE_UGLE" ASC
Code : Tout sélectionner
SELECT "Contacts"."code du l'ugle", "Contacts"."commune", "Contacts"."Libellé de voie", "Contacts"."numéro de voie", "Contacts"."Nom Choisi", "Contacts"."prénoms", "Contacts"."date_de_naissance"
FROM "Req_AGE_MAX_PAR_ADRESSE_Calife", "Contacts"
WHERE "Req_AGE_MAX_PAR_ADRESSE_Calife"."ID_ELECTEUR" = "Contacts"."ID"
ORDER BY "Contacts"."commune"ASC, "Contacts"."Libellé de voie"ASC, "Contacts"."numéro de voie" ASC, "Contacts"."Nom Choisi" ASC
Encore un immense merci à tous ceux qui m'ont aidé à régler mon problème, que je n'aurais jamais résolu seul !
Je mettrai ce sujet comme [RÉSOLU], si vous pensez que je ne me trompe pas.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 25.8.1.1 - Java (JRE) Eclipse Adoptium 24.0.2 - Mac OS Séquoia 15.3.2 - Processeur 3,5 GHz Intel Core i7 - CG AMD Radeon RX 580 8Go - Mémoire 16Go