Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 28 November 2007 11:21

Douchez Marie-Claire
Juste Inscrit !
Date d'inscription: 5 Nov 2007
Messages: 6

jointure_avec_table_sql

Bonjour à tous,

1 - Lorsque je fais la jointure de 2 tables dont l'une est issue d'une requête sql, ça ne fait pas correctement les choses.
2 - Par contre, lorsque j'enregistre cette table sql en table mapinfo, cela marche.

Je souhaiterais savoir si quelqu'un a déjà rencontré ce problème et si oui comment faire pour que cela puisse être possible sans passer par une sauvegarde en dur de la table sql.

Merci par avance

Marie-Claire

Hors ligne

 

#2 Wed 28 November 2007 11:48

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: jointure_avec_table_sql

Douchez Marie-Claire a écrit:

... ça ne fait pas correctement les choses. ..


C'est à dire ?? Pouvez vous nous montrer la requête en cause SVP
Normalement on arrive à utiliser UNE requête résultat dans une nouvelle requête

Hors ligne

 

#3 Wed 28 November 2007 12:06

Douchez Marie-Claire
Juste Inscrit !
Date d'inscription: 5 Nov 2007
Messages: 6

Re: jointure_avec_table_sql

je fais la jointure des 2 tables, table1 et table2, sous mapinfo en faisant
table, mettre à jour colonne, ...etc  afin d'ajouter une colonne de table2 dans table1
table1 est une table géographique.
table2 est une table issue de la requête suivante :
colonne                   :        tableX. NOM , count ( * )
tables                      :        tableY,tableX
critères                    :        tableY.Obj within tableX.Obj
grouper par colonne  :        tableX.NOM
résultat dans table    :        table2

Ca ne marche pas : la jointure se fait mais les données récupérées de table2
sont dans table1 mélangées.

est-ce que c'est plus clair ?

Hors ligne

 

#4 Wed 28 November 2007 12:46

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: jointure_avec_table_sql

Vocabulaire: ce que vous faites est une mise à jour, pas une jointure (nom "réservé" à ce qui se fait par requête)
Si la mise à jour de table1 par table2 se fait sur le critère table1.NOM = table2.NOM ... ça devrait marcher !!
Sinon non (ou j'y perd mon latin smile)
Pour faire plus sûr, vous pouvez commencer par sélectionner dans table1 les entités qui ont le même nom que dans table2:
Select * from table,table2 where table1.NOM = table2.NOM into selnom
Puis mettre à jour selnom par table2 ...et enregistrer table1

Hors ligne

 

#5 Thu 29 November 2007 09:07

Douchez Marie-Claire
Juste Inscrit !
Date d'inscription: 5 Nov 2007
Messages: 6

Re: jointure_avec_table_sql

Je viens de compendre le problème :
C'était parce que la table2 était triée suivant une colonne. Si je génère table2 sans faire ce tri puis je mets à jour une colonne de table1 selon le critère table1.NOM = table2.NOM, ça marche.

Hors ligne

 

#6 Thu 29 November 2007 09:13

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: jointure_avec_table_sql

Que ça marche sans le tri dans table2, alors que ça échoue avec le tri, me surprend encore plus !!
Question: table1 n'a rien à voir avec les tableX et tableY impliqués dans la fabrication de table2 ??

Hors ligne

 

#7 Thu 29 November 2007 09:32

Douchez Marie-Claire
Juste Inscrit !
Date d'inscription: 5 Nov 2007
Messages: 6

Re: jointure_avec_table_sql

si tableX est en fait table1, pourquoi cette question ?

Hors ligne

 

#8 Thu 29 November 2007 12:11

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: jointure_avec_table_sql

Le seul tri possible dans table2, par requête est alors sur table1.NOM
L'autre tri possible est, après requête, sur Count
Dans les deux cas ça n'a strictement aucune influence sur la mise à jour de table1 par table2 ....
La vérité est ailleurs !!  smile

Hors ligne

 

Pied de page des forums

Powered by FluxBB