#1 Wed 12 December 2007 23:13
- Chili
- Juste Inscrit !
- Date d'inscription: 12 Dec 2007
- Messages: 1
Sélection SQL (tables avec objets ponctuels)
Bonjour,
J'essaye de faire une sélection SQL entre deux tables contenant des points (ce sont des villages dans les deux cas : j'essaye de trouver les villages communs aux deux tables) et ça ne marche absolument pas, alors qu'il n'y a aucun problème lorsque je fais une sélection entre une table points et une table zone tampon.
Le logiciel m'indique : no records were selected.
Avez-vous une solution?
Merci d'avance!
Hors ligne
#2 Wed 12 December 2007 23:35
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Sélection SQL (tables avec objets ponctuels)
Bonjour
Rien à ajouter à la réponse faite chez les voisins ...
Hors ligne
#3 Mon 07 April 2008 11:59
- Delphine974
- Participant occasionnel
- Date d'inscription: 29 Feb 2008
- Messages: 15
Re: Sélection SQL (tables avec objets ponctuels)
Bonjour,
Je dispose de plusieurs tables:
- une table parcelle (surfacique)
- une table bâti administratif (ponctuel)
- une table culturel
- une table bâti touristique
Je voudrais sélectionner les parcelles qui contiennent ces éléments bâti administraitf, culturel et touristique pour en faire une table unique.
J'ai pensé à faire une sélection sous Mapbasic comme suit:
Code:
Select * from Parcelles_dpt_janv08, bati_administratif, touristique where bati_administratif.obj, touristique.obj within Parcelles_dpt_janv08.obj
Mais il me dit comme erreur qu'aucune jointure n'est spécifiée. Je voulais savoir qi on pouvait m'orienter... savoir quelles manipulations faire.
Merci d'avance
Hors ligne
#4 Mon 07 April 2008 12:26
- Nicolas Szlapka
- Participant actif
- Lieu: NPDC
- Date d'inscription: 20 Dec 2006
- Messages: 107
Re: Sélection SQL (tables avec objets ponctuels)
Bonjour Delphine.
Il faudrait que tu fasses une seule table avec tous tes points (adminis., culturel et touristique).
Ce qui serait bien c'est utiliser Table --> Ajouter...
Mais d'abord, assure-toi d'avoir exactement les mêmes champs, les mêmes types de valeur...
Tu enregistres une des tables (celle du bâti administratif par exemple) sous un autre nom.
Tu ouvres cette nouvelle table et tu lui ajoutes les 2 autres tables (une par une).
Quand tu auras ta table renseignée, tu pourras faire une requête spatiale avec la table des surfaces (avec Surface.obj contains Points.obj par exemple)
Dernière modification par Nicolas Szlapka (Mon 07 April 2008 14:12)
Nicolas
Hors ligne
#5 Mon 07 April 2008 13:31
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Sélection SQL (tables avec objets ponctuels)
Bonjour,
A tester, en respectant l'ordre d'entrée en scène des tables citées dans le "from"
Code:
select * from parcelles,pointable1,pointable2,pointable3 where parcelles.obj contains pointable1.obj and pointable2.obj within parcelles.obj and pointable3.obj witin parcelles.obj into tata
Hors ligne
#6 Mon 07 April 2008 13:50
- Delphine974
- Participant occasionnel
- Date d'inscription: 29 Feb 2008
- Messages: 15
Re: Sélection SQL (tables avec objets ponctuels)
Merci Nicodle.
J'ai bien enregistré mes tables sous un autre nom et vérifié les champs. Une fois que je veux ajouter une table à une autre, il me dit impossible de convertir les données.
Tu sais pourquoi?
Hors ligne
#7 Mon 07 April 2008 14:00
- Delphine974
- Participant occasionnel
- Date d'inscription: 29 Feb 2008
- Messages: 15
Re: Sélection SQL (tables avec objets ponctuels)
Bonjour Maurice,
Je comprends pas très bien la requête. Serait-il possible d'avoir quelques explications?
Merci
Hors ligne
#8 Mon 07 April 2008 14:24
- Nicolas Szlapka
- Participant actif
- Lieu: NPDC
- Date d'inscription: 20 Dec 2006
- Messages: 107
Re: Sélection SQL (tables avec objets ponctuels)
(Pardon de répondre à votre place Maurice)
La requête c'est :
on sélectionne toutes les colonnes des tables "Parcelles_dpt_janv08", "bati_administratif", "touristique" et (sans doute) "culturel"
où les objets des tables "bati_administratif", "touristique" et "culturel" sont contenus par les objets de "Parcelles_dpt_janv08"
et tout cela est sorti dans la table "tata" (ou "toto", une nouvelle table quoi)
Si je me trompe, corrigez-moi.
Dernière modification par Nicolas Szlapka (Mon 07 April 2008 14:26)
Nicolas
Hors ligne
#9 Mon 07 April 2008 17:23
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Sélection SQL (tables avec objets ponctuels)
C'est bien ça Nicolas...et l'ordre d'appartion dans la clause "from" doit être respecté dans la clause "where" quand il y a plusieurs tables. Sinon MI fâché !! Et quand MI fâché....lui toujours faire ainsi
Hors ligne
#10 Wed 09 April 2008 16:20
- FERNANE
- Participant actif
- Date d'inscription: 14 Sep 2005
- Messages: 139
Re: Sélection SQL (tables avec objets ponctuels)
Bonjour,
Les champs des deux tables correspondent peut-être si vous avez mis les même dans les deux tables.
Mais il faut également que le type de chaque champs soit identique.
Exemple : le code INSEE des communes est toujours déclaré en type caractère dans mes tables. Si j'ouvre une table fournie par un tiers, il pourrait être en type numérique. Il faut modifier.
cordialement
Béatrice FERNANE
Tél : 03.81.61.53.57
Courriel : beatrice.fernane@ developpement-durable.gouv.fr
Hors ligne