Pages: 1
- Sujet précédent - [mapinfo 7.0] [doublon] lors d'1 [sélection SQL] 2tables [polygones] - Sujet suivant
#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 ![]()
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 ![]()
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
Pages: 1
- Sujet précédent - [mapinfo 7.0] [doublon] lors d'1 [sélection SQL] 2tables [polygones] - Sujet suivant

