#1 Mon 05 November 2007 14:43
- Douchez Marie-Claire
- Juste Inscrit !
- Date d'inscription: 5 Nov 2007
- Messages: 6
Requete-inverse
Bonjour à tous,
Je cherche à sélectionner, via une requete sql, des entités géographiques d'une table
qui n'intersectent pas d'autres provenant d'une autre table.
Tout le monde connait la fonction 'intersects' , mais comment obtenir l'inverse ?
Merci d'avance pour votre aide.
Marie-Claire
Hors ligne
#2 Mon 05 November 2007 14:52
- cgrangeon
- Participant actif
- Lieu: La Défense PARIS
- Date d'inscription: 21 Sep 2005
- Messages: 78
Re: Requete-inverse
Bonjour,
Je dirais que vous pouvez faire la requête "intersects" puis simplement inverser la sélection.
Est-ce ce que vous recherchez??
Hors ligne
#3 Mon 05 November 2007 15:08
- Douchez Marie-Claire
- Juste Inscrit !
- Date d'inscription: 5 Nov 2007
- Messages: 6
Re: Requete-inverse
Merci pour la rapidité de la réponseOui, c'est ce que je fais actuellement, mais j'aimerais
pouvoir faire la sélection inverse sans intervenir 'manuellement'
mais plutôt en utilisant avec une fonction MApbasic.
Marie-Claire
Hors ligne
#4 Mon 05 November 2007 15:49
- Cartosig
- Participant assidu
- Date d'inscription: 16 Oct 2006
- Messages: 222
Re: Requete-inverse
Rien n'empêche de faire une sélection inverse dans le code MB...
D'un point de vue SQL et recherche spatiale ça doit être plus rapide de chercher les relations qui existent que celles qui n'existent pas...
Et "where Truc.Obj Not Intersects Machin.Obj" ça ne marche pas (j'en doute mais on ne sait jamais) ?
Hors ligne
#5 Mon 05 November 2007 16:25
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Requete-inverse
Bonjour
Si on demande:
Code:
Select * from truc, machin where not truc.obj Intersects machin.obj
...on obtient le message d'erreur: "aucune jointure n'est spécifée entre truc et machin bla, bla..."
Mais si on demande:
Code:
Select * from truc where not obj intersects any (select obj from machin)
CA MARCHE !!
morale: toujours penser à utiliser des sous sélections quand c'est possible
Hors ligne