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

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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)
wink

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 tongue

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@texte-a-enlever.developpement-durable.gouv.fr

Hors ligne

 

Pied de page des forums

Powered by FluxBB