Transféré ici, car envoyé à la mauvaise liste hier :-/
-------- Message original --------
Sujet: Re: [fr-users] SQL regrouper des enregistrements
Transféré ici, car envoyé à la mauvaise liste hier :-/
-------- Message original --------
Sujet: Re: [fr-users] SQL regrouper des enregistrements
Bonjour,
Effectivement si j'avais cela ce serait simple, mais ce n'est pas le
cas.
J'ai une base complexe contenant une table adhérents dont S est un
résumé.(environ 600 adhérents homme ou femme)
Je dois produire des étiquettes avec 1 seul envoi par couple (même ad).
J'ai réussi à le faire en important la table S dans un tableur puis par
copier-coller j'ai reconstitué les 80 couples et obtenu la table que tu
nommes R et qui m'a servi à produire les étiquettes.
Ce que je cherche, c'est d'industrialiser la manipulation pour mettre
l'outil dans des mains disons peu expérimentées.
Donc je cherche une requête qui à partir de la table adhérent
id | ad | n | s |
Bonjour
Message du 16/03/11 16:17
De : "barbault"Mon projet est de faire des étiquettes (le moins possible) pour envoyer
du courrier à tous les adhérents.
...
Je n'ai pas trouvé comment, même en essayant différentes jointures
internes et externes sur les tables.
Dois-je utiliser "R" ou "S"?
J'arrive après "la bataille" mais, juste pour info (puisque tu
as déjà une solution), il me semble possible d'obtenir ton résultat
en ne travaillant qu'avec la table R et des jointures.
Voir dans la base jointe l'enchaînement de vues / requêtes
(nommées Pys1, Pys2, Pys3 pour comprendre leur enchaînement)
http://www.cijoint.fr/cjlink.php?file=cj201103/cijCAo4sjJ.odb
J'ai ajouté un cas de figure dans les données pour tester.
Cordialement
Pierre-Yves
Une messagerie gratuite, garantie à vie et des services en plus, ça vous tente ?
Je crée ma boîte mail www.laposte.net
Bonjour
Message du 16/03/11 16:17
De : "barbault"Mon projet est de faire des étiquettes (le moins possible) pour envoyer
du courrier à tous les adhérents.
...
Je n'ai pas trouvé comment, même en essayant différentes jointures
internes et externes sur les tables.
il me semble possible d'obtenir ton résultat
en ne travaillant qu'avec la table R et des jointures.Voir dans la base jointe l'enchaînement de vues / requêtes
(nommées Pys1, Pys2, Pys3 pour comprendre leur enchaînement)http://www.cijoint.fr/cjlink.php?file=cj201103/cijCAo4sjJ.odb
Pour la pérennité du fil j'ajoute le sql des vues/requêtes de la base ci-dessus...
Vue Pys1
SELECT "R"."ad", "R"."ne", "R_1"."nm" FROM "R" AS "R", "R" AS "R_1" WHERE "R"."ad" = "R_1"."ad"
Vue Pys2
SELECT "ad" FROM ( SELECT "R"."ad", "R"."ne", "R_1"."nm" FROM "R" AS "R", "R" AS "R_1" WHERE "R"."ad" = "R_1"."ad" ) AS "Pys1" GROUP BY "ad" HAVING ( ( COUNT( "ad" ) = 1 ) )
Requête Pys3
SELECT "ad", "ne", "nm" FROM "Pys1" WHERE "ad" in (select "ad" from "Pys2") OR
(IFNULL("ne", 'vide') <> 'vide' AND IFNULL("nm", 'vide') <> 'vide')
Cordialement
Pierre-Yves
Une messagerie gratuite, garantie à vie et des services en plus, ça vous tente ?
Je crée ma boîte mail www.laposte.net