Pages: 1
- Sujet précédent - Séléction SQL Mapinfo - Sélectionner un nombre précis d'objets - Sujet suivant
#1 Thu 16 March 2017 17:04
- Elise_M
- Participant occasionnel
- Date d'inscription: 16 Mar 2017
- Messages: 11
Séléction SQL Mapinfo - Sélectionner un nombre précis d'objets
Bonjour,
J'utilise MapInfo 8.5 et j'ai une question concernant les sélections SQL.
Voici ma problématique :
J'ai deux tables :
- une table X avec des polygones,
- une table Y avec des polygones et des points.
Je souhaite sélectionner dans ma table X tous les polygones contenant au moins 5 objets de la table Y.
Est-ce possible d'effectuer cette requête ? Si oui, pouvez-vous m'indiquer la formule ?
Je vous remercie par avance, Elise M
Hors ligne
#2 Thu 16 March 2017 20:40
- nfarah
- Participant assidu
- Lieu: New York, USA
- Date d'inscription: 9 May 2006
- Messages: 352
Re: Séléction SQL Mapinfo - Sélectionner un nombre précis d'objets
Bonjour,
Une façon de faire serait en deux commandes :
Code:
Select Count(*), X.NOM from X, Y where X.obj Contains Y.obj And Str$(Y.obj) = "Point" group by X.NOM into Inclus
--> Cela produira une table temporaire ‘Inclus’ avec deux colonnes: compte des objets points de Y inclus dans les régions X en les groupant par un identificateur unique de vos régions. Dans mon exemple, j’ai utilisé ‘X.NOM’. La seconde colonne est l’identificateur unique de chacune de régions venant de ‘X’.
Code:
Select * from X, Inclus where Inclus.COL1 >= 5 And x.Nom = Inclus.Nom into Inclus5EtPlus
--> Cela va sélectionner les régions de la table ‘X’ dont le compte des objets ‘Inclus’ est supérieur au égal a 5 dont les identificateurs uniques concordent.
N.B: Je n’ai pas essayé cela, mais cela doit marcher sinon vous donnera une piste proche pour trouver la solution.
Noureddine Farah
Dernière modification par nfarah (Thu 16 March 2017 20:42)
Hors ligne
#3 Fri 17 March 2017 09:31
- Elise_M
- Participant occasionnel
- Date d'inscription: 16 Mar 2017
- Messages: 11
Re: Séléction SQL Mapinfo - Sélectionner un nombre précis d'objets
Bonjour,
Je vous remercie pour votre réponse. J'ai essayé la première formule mais ça ne fonctionne pas, j'ai un message d'erreur qui me dit "Variable ou Champ Select non défini". Cela vient peut-être du fait que je n'ai pas de jointure entre mes deux tables ? Elles ne sont pas liées par une colonne commune.
Pour le moment j'ai juste réussi à sélectionner tous les polygones de ma table X qui contenaient des objets de la table Y avec cette formule : CGL_EAU_TOTAL_EROS200m.Obj Contains CGL_EAU_TOTAL.Obj
CGL_EAU_TOTAL_EROS200m étant ma table X et CGL_EAU_TOTAL étant ma table Y.
Merci par avance pour votre réponse.
Elise M.
Hors ligne
#4 Fri 17 March 2017 14:29
- nfarah
- Participant assidu
- Lieu: New York, USA
- Date d'inscription: 9 May 2006
- Messages: 352
Re: Séléction SQL Mapinfo - Sélectionner un nombre précis d'objets
Bonjour,
Pour exécuter la première commande, il n’est pas nécessaire d’avoir une jointure, car on fait une opération spatiale (trouver les objets inclus).
"Variable ou Champ Select non défini" : Vous avez tapé la commande dans la fenêtre MapBasic ? Si ce n’est pas le cas, c’est là où il faut la taper et exécuter (pas dans la dialogue de requête). Aussi changer ‘NOM’ avec une colonne de votre table.
Noureddine Farah
Hors ligne
#5 Mon 20 March 2017 14:49
- Elise_M
- Participant occasionnel
- Date d'inscription: 16 Mar 2017
- Messages: 11
Re: Séléction SQL Mapinfo - Sélectionner un nombre précis d'objets
Merci beaucoup !
Hors ligne
#6 Mon 20 March 2017 19:01
- nfarah
- Participant assidu
- Lieu: New York, USA
- Date d'inscription: 9 May 2006
- Messages: 352
Re: Séléction SQL Mapinfo - Sélectionner un nombre précis d'objets
Avec plaisir ! Cela a marché ?
Hors ligne
Pages: 1
- Sujet précédent - Séléction SQL Mapinfo - Sélectionner un nombre précis d'objets - Sujet suivant