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 Thu 10 March 2011 18:25

mapeinch
Juste Inscrit !
Date d'inscription: 10 Mar 2011
Messages: 7

[mapinfo 7.0] [doublon] lors d'1 [sélection SQL] 2tables [polygones]

bonjour,

à partir de 2 tables (TH et TI) répertoriant des polygones, je cherche à faire une sélection de zones H qui seraient superposées aux zones I, et inversement.
Lorsque je fais ma requête SQL, je voudrais avoir une table résultat avec seulement les zones H sélectionnées sans les champs de la table TI ajoutés derrière et qui me font avoir mes zone H en doublon (soit une sélection à partir de 2 tables sans la jointure).
plus explicitement, lorsque mes zones H sont à cheval sur plusieurs zones I (mettons3), la requête va me donner en résultats 3 lignes pour une zone H qui seront différenciées par les attributs de la zone I.
pour préciser encore : ce sont une multitude de petites zonages pour les 2 tables (=beaucoup de croisements de polygones)

je ne comprend pas comment il faut rédiger la requête ... et j'ai essayer plein de choses qui me donnent toujours la même table résultat à l'arrivée.(je n'en peux plus!)
entre autres :
je pourrais lui désigner les colonnes que je veux garder dans ma table résultat au lieu de laisser * qui me donne tous les champs à l'arrivée...mais il y a bcp de champs différents et cela ne rentre pas dans l'espace prévu pour! (il y a donc aussi une limite de caractères dans ces Pu*§in de requêtes!?)

visuellement, sur ma carte je peux représenter les zones qui m'intéressent mais le problème est que je veux faire des sommes de surface de mes zones H sélectionnées et avec les doublons c'est pas possible...

merci d'avance à ceux qui auraient la solution

Hors ligne

 

#2 Thu 10 March 2011 19:02

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: [mapinfo 7.0] [doublon] lors d'1 [sélection SQL] 2tables [polygones]

Salut et bienvenue,

il y a donc aussi une limite de caractères dans ces Pu*§in de requêtes!?)


Au lieu de passer par le requêteur --> passe par la FMB (Fenêtre MapBasic) --> Options --> voir Fenêtre MapBasic.
A essayer:

Code:

Select obj from TableI where obj intersects any(select obj from TableH) into ResultatI

Tu devrais trouver dans la sélection ResultatI les polygones de la TableI qui sont en intersection avec la TableH.
En espérant avoir compris ta question
A+
Joël

Dernière modification par Spacejo (Thu 10 March 2011 19:08)

Hors ligne

 

#3 Tue 15 March 2011 11:25

mapeinch
Juste Inscrit !
Date d'inscription: 10 Mar 2011
Messages: 7

Re: [mapinfo 7.0] [doublon] lors d'1 [sélection SQL] 2tables [polygones]

merci pour cette info,
cependant,

1/ ma table résultante ne possède donc aucun champs (si ce n'est par défaut un champs "_object" rempli indistinctement avec "région" pour toutes les lignes) des champs de la table d'origine, car on a bien précisé que nous voulions sélectionner que les objets, c'est ça j"imagine....?

or mon travail est d'évaluer des surfaces à partir de champs chiffrés (exemple : "surface ZH en ha" ou "surface culture en ha"...) que je voudrais garder en sélectionnant mes objets.
pouvez vous me détailler
Y a-t-il un document qui explique comment coder ou écrire mes requêtes correctement dans la fenêtre MapBasic ?

2/ je viens de réessayer en mettant

Code:

[Select * from "tableI" where obj intersects any(select obj from "tableH") into ResultatI]

et il me sélectionne bien les mêmes objets avec l'ensemble des champs mais il y a plein d'objects en doublon et je ne capte toujours pas pourquoi ???!

Quelqu'un a t il une explication du fonctionnement de ces requêtes ?


merci
mariette

Hors ligne

 

#4 Tue 15 March 2011 11:33

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: [mapinfo 7.0] [doublon] lors d'1 [sélection SQL] 2tables [polygones]

Salut,

ma table résultante ne possède donc aucun champs


Ce qui est normal car  ---> Select obj
En faisant Select * --> il y tous les champs
Par contre --> [Select * from "tableI" where obj intersects any(select obj from "tableH") into ResultatI] ne marche pas comme ça pas de crochets ni de double cotes wink
Une question --> Tu as les mêmes objets dans les 2 Tables?

Dernière modification par Spacejo (Tue 15 March 2011 11:33)

Hors ligne

 

#5 Tue 15 March 2011 11:47

mapeinch
Juste Inscrit !
Date d'inscription: 10 Mar 2011
Messages: 7

Re: [mapinfo 7.0] [doublon] lors d'1 [sélection SQL] 2tables [polygones]

ouah! quelle rapidité de réponse, à ce rythme on devrait pouvoir avancer pour trouver une solution jespère wink

je reprécise :
- c'est quoi les doubles cotes ? c'est " ? en tout cas cela ne m'a pas gêné pour le résultat...
- et, en fait je n'ai pas mis de crochets dans ma fenêtre Mapbasic (c'est que je ne maitrise pas le mode de postage sur un forum...) donc cela à marché et jai eu la même sélection avec seulement les champs de la table I ! mais toujours avec mes doublons........

--> d'ailleurs je cherche la requêtes qui me permettrait d'éliminer les doublons dans une table... tu connais ?


Une question --> Tu as les mêmes objets dans les 2 Tables?

J'ai 2 tables avec des des objects différents sans aucun champs commun... (mon objectif n'est pas de faire une jointure mais serait de sélectionner les objets et leurs champs, d'une seule des 2 tables; objets qui seraient sélectionnés parce qu'ils superposent les polygones de ma 2ème table.

Hors ligne

 

#6 Tue 15 March 2011 11:51

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: [mapinfo 7.0] [doublon] lors d'1 [sélection SQL] 2tables [polygones]

Pour trouver les doublons (entités graphiques).
Faire une copie de la Table puis:

Code:

Select * from Table, CopieTable Where Table.obj intersects CopieTable.obj and Table.ID<>CopieTable.ID into Resultat

Hors ligne

 

#7 Tue 15 March 2011 12:13

mapeinch
Juste Inscrit !
Date d'inscription: 10 Mar 2011
Messages: 7

Re: [mapinfo 7.0] [doublon] lors d'1 [sélection SQL] 2tables [polygones]

il y a une erreur dans la rédaction de la requête car une fenêtre me dit :" le résultat de l'expression n'est pas un nom de table et de colonne."

moi j'ai mis :

Code:

Select * from "Table résultat précédent", "Copie de Table résultat précédent" Where "Table résultat précédent.obj" intersects "Copie de Table résultat précédent.obj" and Table.ID<>"Copie de Table résultat précédent.ID" into Resultat

?

faux problème qui est résolut mais l'opération ne ce fait cependant pas et il me dit "Variable ou Champ Table.ID non défini."

?

Dernière modification par mapeinch (Tue 15 March 2011 12:19)

Hors ligne

 

#8 Tue 15 March 2011 12:30

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: [mapinfo 7.0] [doublon] lors d'1 [sélection SQL] 2tables [polygones]

Oula --> comme je l'ai dis au dessus pas de guillemets
--> Mapinfo n'aime pas les espaces ni les accents.

Select * from Table_resultat_precedent, Copie_de_Table_resultat_precedent Where Table_resultat_precedent.obj intersects "Copie_de_Table_ resultat_precedent.obj and Table_resultat_precedent.ID<>Copie_de_Table_ resultat_precedent..ID into Resultat


Attention il faut que ta table dsipose d'une colonne ID qui reprends un code unique par entité

Dernière modification par Spacejo (Tue 15 March 2011 13:08)

Hors ligne

 

#9 Tue 15 March 2011 12:43

mapeinch
Juste Inscrit !
Date d'inscription: 10 Mar 2011
Messages: 7

Re: [mapinfo 7.0] [doublon] lors d'1 [sélection SQL] 2tables [polygones]

c'est le cas, ma table à un champs "id_zh" dans lequel il y a un code chiffre et lettre qui différe pour chaque polygone et que l'on voit bien en doublon dans ma Table_résultat_précédent


faut il que je rentre le nom du champ dans lequel il ya le code entre les <> en fin de code ?
ou alors est ce un  problème de définition des champs/nature des champs dans les paramètres de la table, dès le départ ?

Hors ligne

 

#10 Tue 15 March 2011 12:51

mapeinch
Juste Inscrit !
Date d'inscription: 10 Mar 2011
Messages: 7

Re: [mapinfo 7.0] [doublon] lors d'1 [sélection SQL] 2tables [polygones]

en changeant dans gestion table/modif structure : j'ai indexé le champs "Id_ZH" en me disant que c'est ça le problème mais ile me remet le m^me pbm que tout à l'heur.... "Variable ou Champ Table.ID non défini."

pour précision la nature du champs Id_ZH est caratère

Hors ligne

 

#11 Tue 15 March 2011 13:46

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: [mapinfo 7.0] [doublon] lors d'1 [sélection SQL] 2tables [polygones]

Table.ID -> Dans ton cas --> Table.Id_ZH
Attention id_zh est différent de Id_ZH --> mapinfo est sensible à la casse (Majuscule, Minuscule)

Dernière modification par Spacejo (Tue 15 March 2011 13:48)

Hors ligne

 

#12 Tue 15 March 2011 14:52

mapeinch
Juste Inscrit !
Date d'inscription: 10 Mar 2011
Messages: 7

Re: [mapinfo 7.0] [doublon] lors d'1 [sélection SQL] 2tables [polygones]

ça ne marche pas. toujours le même message d'erreur....

Hors ligne

 

Pied de page des forums

Powered by FluxBB