banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#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é ... smile
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

 

Pied de page des forums

Powered by FluxBB