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é ?

#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

 

Pied de page des forums

Powered by FluxBB