cs_Jaxom
Messages postés29Date d'inscriptionlundi 13 mai 2002StatutMembreDernière intervention22 mars 2013
-
30 juin 2009 à 17:52
cs_Jaxom
Messages postés29Date d'inscriptionlundi 13 mai 2002StatutMembreDernière intervention22 mars 2013
-
2 juil. 2009 à 12:16
Bonjour,
J'ai plusieures tables
Tbl_Affilies qui contient:
Affilies_Id
Affilies_Nom_commercial
Affilies_Rue_commercial_Id
Affilies_Nom_Prive
Affilies_Rue_Prive_Id
....
Tbl_Rue qui contient
Rue_Id
Rue_Nom
Rue_CP_Id
...
Tbl_Localite qui contient
Localite_Id
Localite_Nom
Localite_Pays_Id
...
Tbl_Pays qui contient
Pays_Id
Pays_Nom
...
Ouf, c'est tout
Affilies_Rue_commercial_Id est une FK de la table Tbl_Rue etc...
J'ai donc 2 FK dans ma table Tbl_Affilies qui "pointent" sur la même table...
C'est là que je coince comment je fait un SELECT qui va me donner les adresses complètes:
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 30 juin 2009 à 19:44
FK : C'est quoi ?
Très mauvaise idée d'avoir associé des tables en cascade.
Il aurait mieux valu déclarer Rue_Id, CP_Id, Localite_Id et Pays_Id à la fiche principale.
Bref, quand tu as deux sources pouvant "taper" dans une même table, il suffit de déclarer plusieurs fois cette table.
Essaye ça :
Select TA.Affilies_Id,
TA.Affilies_Nom_commercial,
TB.Rue_Nom,
TC.Localite_Nom,
TD.Pays_Nom,
TA.Affilies_Nom_Prive,
TE.Rue_Nom,
TF.Localite_Nom,
TG.Pays_Nom
From Tbl_Affilies TA,
Tbl_Rue TB,
Tbl_Localite TC,
Tbl_Pays TD,
Tbl_Rue TE,
Tbl_Localite TF,
Tbl_Pays TG
Where TA.Affilies_Rue_commercial_Id = TB.Rue_Id
And TB.CP_Id = TC.Localite_Id
And TC.Localite_Pays_Id = TD.Pays_Id
And TA.Affilies_Rue_Prive_Id = TE.Rue_Id
And TE.CP_Id = TF.Localite_Id
And TF.Localite_Pays_Id = TG.Pays_Id
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
<hr />
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_Jaxom
Messages postés29Date d'inscriptionlundi 13 mai 2002StatutMembreDernière intervention22 mars 2013 2 juil. 2009 à 12:16
Hello,
Merci pour ta réponse Jack
Mais pourquoi:
Très mauvaise idée d'avoir associé des tables en cascade
Pour être complet j'ai fait une cascade car les localité et les pays interviennent dans plusieures tables; par exemple, j'ai des codes postaux de domicile et de distribution de courrier (en fait pour la poste en Belgique on a une adresse physique et une adresse du bureau de poste distributeur du courrier).
Bref, il m'a semblé (mais bon je ne suis pas un génie non plus) opportun de séparer les Code postaux et les pays pour faire des dropdownlist dans mes formulaires d'encodage. A partir de là, je me suis dit que dans les tables affiliés, prospects,bureau provinciaux, distributeurs... qui gèrent toutes des adressess, de ne pas mettre les adresses complète en dur dans les tables puisque elles sont dajà là en suivant les liaisons. De plus, si on mets une adresse à jour (genre un Code postal qui change par exemple) je ne dois pas m'occuper de mettre à jour quoi que ce soit dans mes différentes table.
Voila donc mon raisonement... maintenant, le but de la vie c'est progresser ^^ du coup, je suis à l'écoute de toute remarque de ta part ^^