Deux tables en une mais... [Access] - SQL/NoSQL - Programmation
Marsh Posté le 03-10-2002 à 08:18:16
Contenu de la table Société :
Ref client Nom client Ville
100A Toto Paris
100B Titi Lille
Contenu de la table Contacts :
N° auto ref_client Nom ...
1 100A Papa
2 100A Maman
3 100A Lechien
4 100B Labonne
5 100B EtMoi
Resultat souhaité :
Ref_client | société.[nom] | société.[ville] | contact[nom1] | contact[nom2] | contact[nom3]
100A Toto Paris Papa Maman LeChien
100B Titi Lille LaBonne EtMoi
Voila, rien ne vaut un bon exemple pr se faire comprendre je crois. Merci déjà a ceux qui se sont penchés sur mon pb.
Marsh Posté le 03-10-2002 à 09:03:17
Si tu utilise Access tu peux utiliser le Wizard pour créer une requete. Rien de plus simple...
Tu sélectionnes tes 2 tables, tu fais glisser les champs qui t'intéressent dans le tableau du Wizard et bam c'est bon.
J'ai bon ?
-------------------------EDIT----------------------------------
A merde pardon, j'avais pas vu tout le pb !
---------------------------------------------------------------
Marsh Posté le 03-10-2002 à 10:54:28
T'as un nombre maxi de contact ?
Si Oui alors tu peux t'en sortir en passant un certain
nombre de requêtes...
Si Non, je vois pas un truc simple
Marsh Posté le 03-10-2002 à 11:27:44
Format_c, non tu n'as pas bon, c + complexe que cela, merci toutefois d'avoir répondu.
vttman, j'ai pensé à cette solution, en supprimant la valeur max ou min à chaque fois et en passant par une procédure enchainant les requêtes, le pb est que le champ de liaison (ref_client) n'est pas numérique... SIC... je ne sais plus trop quoi faire.
Marsh Posté le 03-10-2002 à 12:51:21
OlivierL59 a écrit a écrit : Format_c, non tu n'as pas bon, c + complexe que cela, merci toutefois d'avoir répondu. vttman, j'ai pensé à cette solution, en supprimant la valeur max ou min à chaque fois et en passant par une procédure enchainant les requêtes, le pb est que le champ de liaison (ref_client) n'est pas numérique... SIC... je ne sais plus trop quoi faire. |
Mon idée c'était du style
1) Tu insères dans une table TEMP
tes enr. du style
NEWNUM REF_CLIENT NOM
--------------------------
1 100A Papa
2 100A Maman
3 100A Lechien
1 100B Labonne
2 100B EtMoi
Note pour transformer
NEWNUM REF_CLIENT NOM
--------------------------
4 100B Labonne
5 100B EtMoi
en
NEWNUM REF_CLIENT NOM
--------------------------
1 100B Labonne
2 100B EtMoi
il faut faire un update champ = champ mod 11
si 11 contacts max par exemple
2) Tu insères tes enregistrements dans ta table FINALE
mais sans te préoccuper des contacts dans un 1 er temps
Ce qui nous donne ...
Ref_client | société.[nom] | société.[ville] | contact[nom1] | contact[nom2] | contact[nom3]
100A Toto Paris 100B Titi Lille
3)Jointure entre la table FINALE et TEMP
et passage de 11 requêtes
style
update FINALE,TEMP set contact[nom1] = TEMP.NOM
where TEMP.NEWNUM = 1 and FINALE.REF_CLIENT =TEMP.REF_CLIENT
update FINALE,TEMP set contact[nom2] = TEMP.NOM
where TEMP.NEWNUM = 2 and FINALE.REF_CLIENT =TEMP.RE_CLIENT
...
Marsh Posté le 03-10-2002 à 08:14:40
Salut,
Voila, j'ai deux tables "Société" et "Contacts" avec une relation de 1 à plusieurs.
Société Contacts
------- --------
N° auto N° Auto
Ref clienf ========> Ref client
Raison sociale Nom
Ville Tel
....
J'aimerai avoir le résultat suivant dans une seule table....
[société].Raison sociale | [société].ville | [contact]nom1 |[contact]tel1 |[contact]nom2 |[contact]tel2 | ....
J'ai essayé plein de trucs, mais j'ai fait choux blanc, alors si quelqu'un a une idée elle sera la bienvenue. (J'espère avoir été clair ds mes explications).
Merci D'avance