Hi Alex,

It seems you sent your answer to the wrong list :-)

Best regards
JBF

Le 15/03/2011 21:10, Alexander Thurgood a écrit :
> Le 15/03/11 17:47, barbault a écrit :
>
> Bonsoir,
>
>> 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? 
> 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"?
> Pour moi, le problème vient du fait que les deux noms doivent appartenir
> à un même "ad", ce qui est logique, mais si j'ai bien compris, tu n'es
> pas allé jusqu'au bout de la normalisation de tes données. Normalement,
> cela se fait en séparant bien les deux attributs chacun dans une table
> dont l'id (dans ce cas, "ad") serait lié et donc commun aux deux (dans
> deux tables distinctes). L'exemple de ta table R montre que tu n'a pas
> respecté cette normalisation puisque tu y as mis aussi bien des
> attributs "ne" que des attributs "nm".
>
> Cela conduit, même avec une jointure interne sur "R" à ressortir
> plusieurs cas de figure qui ne correspondent pas, même si les bons y
> sont aussi, sauf à faire des exclusions, mais alors on rentre dans un
> schéma encore plus complexe avec des exceptions à n'en plus finir.
>
> A la limite, la seule table R suffirait si tu remplissais
> systématiquement le champ "nm" chaque fois qu'il y avait un nom de mari,
> sans en créer de nouvelle fiche à chaque fois. Mais tu découvrirais sans
> doute d'autres limitations par la suite, probablement les mêmes qui
> t'ont poussé à séparer la saisie des noms au départ.
>
> Peut-être que d'autres plus aguerris en SQL pourront trouver la
> solution, mais j'ai retourné la question dans plusieurs sens, et à
> chaque fois me retrouvais avec des réponses en trop ne correspondant
> visiblement pas à ce que tu veux.
>
> Alors, soit une table R, comportant :
>
> id | ad | ne | nm |
> -------------------
> 1  | a  |  d |  e |
> 2  | b  |  f |    |
> 3  | c  |    |  g |
>
> et c'est celle-ci qui servirait directement pour la création d'étiquettes.
>
> Soit, une solution de 2 tables, disons S (membre) comme actuellement :
>
> id | ad |  n | s |
> -------------------
> 1  | a  |  d |  f |
> 2  | a  |  e |  m |
> 3  | b  |  f |  f |
> 4  | c  |  g |  m |
>
>
> et puis T (epoux) :
>
> id | ad | nm | s |
> -------------------
> 1  | a  |  z |  f |
> 2  | a  |  y |  m |
> 3  | b  |  z |  f |
> 4  | c  |  a |  m |
>
>
>
> Puis ta requête serait :
>
> SELECT S.ad as "Adresse", S.n as "Nom", T.nm as "Mari" from S,T where
> S.ad = T.ad
>
>
>
> Alex
>
>
>
>
>


-- 
Seuls des formats ouverts peuvent assurer la pérennité de vos documents.


-- 
Unsubscribe instructions: E-mail to users+h...@libreoffice.org
List archive: http://listarchives.libreoffice.org/www/users/
*** All posts to this list are publicly archived for eternity ***

Reply via email to