#1 Mon 01 October 2007 12:17
- urba33
- Participant occasionnel
- Date d'inscription: 10 Sep 2007
- Messages: 10
associer deux bases de données par une colonne commune
Bonjour,
Je souhaiterais obtenir un renseignement qui débloquerait ma situation...je vous expose mon problème:
Sur mapinfo, je possède une base de données A associée à une carte; cette base de données contient 1 colonne que je nomme "parcelle" ;
J'importe ensuite une base de données B au format excel ou dbf, contenant elle aussi deux colonnes, "parcelle" et "logement"
Les nombres des colonnes "parcelles" de mes deux bases de données sont les mêmes, et je souhaite importer mes données "logement" dans ma table A de manière à ce qu'elle soit retranscrit sur mon fond de plan....
J'ai déjà essayé "mettre à jour colonne" en faisant ma jointure entre mes deux tables mais il me dit "erreur d'expression" et je suis coincé...
Faut-il s'y prendre autrement?
En espérant être assez clair...
Merci d'avance...
Jérôme
Hors ligne
#2 Mon 01 October 2007 12:31
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: associer deux bases de données par une colonne commune
Bonjour
Rien à dire sur la méthode (si vous avez créé une colonne "logement" dans la bas A, au cas où il n'y en avait pas déjà une, d'un type équivalent au type de la colonne "logement" de la base B)
Simplement il faut que les colonnes "parcelle" des deux bases soient du même type (nombre ou caractère) pour que la condition de jointure soit comprise...
Hors ligne
#3 Mon 01 October 2007 12:46
- Maestro de la salsa
- Participant actif
- Date d'inscription: 7 Jun 2006
- Messages: 133
Re: associer deux bases de données par une colonne commune
Je fais vite j'ai faim....
Deux façons:
1- Menu Carte --> analyse thématique --> table=tableA, variable=jointure. Dans la boite de dialogue de jointure tu renseigne correctement les champs(jointure sur "parcelle" des deux tables A et B ).
2-Si tu veux vraiment avoir les infos dans la table A uniquement en supposant que pour une parcelle donnée on peut avoir plusieurs logements:
Menue Sélection -->sélection SQL:
colonne : parcelle, sum(logement)
Tables: tableA,tableB
critères: tableA.parcelle=tableB.parcelle
Grouper par colonnes: parcelle
Dits-moi si ça fonctionne
Alain
Hors ligne
#4 Mon 01 October 2007 13:10
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: associer deux bases de données par une colonne commune
Bémols à la réponse du Maestro affamé ...
La méthode 1 donne juste une représentation de la tableA avec les données de la tableB. TableA reste inchangée
La méthode 2 produit un tableau non graphique du nombre de valeurs "logement" présentes dans les parcelles de tableA qui ont la même valeur "parcelle" que dans tableB. Il faudra ensuite recourir à la méthode 1 (analyse de tableA avec les données de la requête) pour avoir une représentation ...
Hors ligne
#5 Mon 01 October 2007 14:11
- urba33
- Participant occasionnel
- Date d'inscription: 10 Sep 2007
- Messages: 10
Re: associer deux bases de données par une colonne commune
Merci pour la rapidité de vos réponses...
j'ai réessayé ma première méthode, puis la méthode d'alain....rien à faire, le pb est tjrs le même: erreur dans l'expression....
du coup, je tiens à préciser une particularité dans mes deux tables qui posent peut être problème:
Les colonnes "parcelle" de mes deux tables qui me servent de jointure ne possèdent pas le même nombre total de valeurs...en gros, la colonne parcelle de ma table A ne possède qu'une vingtaine de parcelle, que l'on retrouve dans la colonne "parcelle" de ma table B, mais qui elle en possède beaucoup plus mais qui ne m'intéresse pas....
est-ce que cela joue dans le problème d'expression???
merci..
Jérôme
Hors ligne
#6 Mon 01 October 2007 14:30
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: associer deux bases de données par une colonne commune
Aucune importance, toutes les valeurs de "logement" TableA seront remplies puisque TableA est incluse dans TableB
Avez vous bien une colonne "logement" dans TableA ??
Quel est le type de la colonne parcelle dans tableA ?? Même question pour TableB ??
Hors ligne
#7 Mon 01 October 2007 15:10
- urba33
- Participant occasionnel
- Date d'inscription: 10 Sep 2007
- Messages: 10
Re: associer deux bases de données par une colonne commune
j'ai bien une colonne logement dans la table A et le type c'est flottant....
Mais merci des renseignements, j'ai finalement réussi à trouver la solution à travers une requête SQL qui donne lieu à une nouvelle fenetre de données affichant mes deux colonnes parcelles côte à côte..il me suffit juste d'importer la colonne logement de la table B et du coup ça marche...je l'ai fait de manière un peu approximative mais j'ai trouvé ce système.
merci des infos
Hors ligne
#8 Mon 01 October 2007 15:12
- Maestro de la salsa
- Participant actif
- Date d'inscription: 7 Jun 2006
- Messages: 133
Re: associer deux bases de données par une colonne commune
Merci pour le Bémol Maurice...
En effet Jérôme le problème est lié aux types de tes deux colonnes "parcelle".
Vérifie et tiens informé...
Hors ligne
#9 Tue 02 October 2007 14:48
- urba33
- Participant occasionnel
- Date d'inscription: 10 Sep 2007
- Messages: 10
Re: associer deux bases de données par une colonne commune
effectivement ça devait etre ça le pb mais jmen suis sorti...
merci à vous deux
Hors ligne