Bonsoir,

Le 15 mars 2011 17:47, barbault <jmba...@club-internet.fr> a écrit :

> Bonjour,
> J'ai une table "R" comme celle-ci:
>
> id | ad | ne | nm |
> -------------------
> 1  | a  |  d |    |
> 2  | a  |    |  e |
> 3  | b  |  f |    |
> 4  | c  |    |  g |
>
> et "S" comme ceci:
> id | ad |  n | s |
> -------------------
> 1  | a  |  d |  f |
> 2  | a  |  e |  m |
> 3  | b  |  f |  f |
> 4  | c  |  g |  m |
>
> En réalité j'ai 600 enregistrements,
> J'ai besoin d'une requête SQL qui me donne ceci
>
>  ad | ne | nm |
> -------------------
>  a  |  d |  e |
>  b  |  f |    |
>  c  |    |  g |
>
> C'est un fichier d'adhérents d'une association, ad est une adresse
> postale, ne le prénom de l'épouse, nm du mari, n celui de l'adhérent, s
> son sexe.
> Mon projet est de faire des étiquettes (le moins possible) pour envoyer
> du courrier à tous les adhérents.
>
> Je suis presque débutant en SQL.
> Est-ce possible?
>
Bon casse tête en tous les cas.
est-il possible d'avoir 2 adhérents masculins à la même adresse... (pour
corser un peu plus ;-) )


> Ai-je raison de continuer à chercher dans les manuels?
> Dois-je utiliser "R" ou "S"?
>

A mon avis on doit pouvoir se débrouiller avec la table S seule..

Créer 2 vues/tables équivalentes à  :
T1 = select ad, n as "ne"  from S where S="f"
T2 = select ad, n as "nm" from S where S="m"

ensuite un select comme suit :
select ad.T1, ne, nm from T1, T2 where ad.T1=ad.T2
union
select ad.T1, ne, nm from T1, T2 where ad.T1 not in (select ad from T2)
union
select ad.T2, ne, nm from T1, T2 where ad.T2 not in (select ad from T1)

Pas testé, mais le principe y est.
Nb: y'a peut-être moyen de faire plus simple, mais j'ai fait au + rapide ;-)

Yves.


>
> D'avance merci de votre aide.
> JM Barbault
>
>
>
> --
> Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous
> désinscrire
> Les archives de la liste sont disponibles à
> http://listarchives.libreoffice.org/fr/users/
> Tous les messages envoyés sur cette liste seront archivés publiquement et
> ne pourront pas être supprimés
>



-- 
web site : http://www.molenbaix.com

-- 
Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés

Répondre à