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 22 February 2006 08:45

Maud BAUDURET
Juste Inscrit !
Date d'inscription: 21 Feb 2006
Messages: 8

Requête SQL

Bonjour,

Nouvelle utilisatrice, j'ai une question :
J'ai une table PARCELLE.tab avec un champ surface à remplir.
J'aimerais récupérer la valeur de la surface de chaque objet et la mettre dans le champ surface.

Comment faire, j'ai déjà essayé avec des requêtes SQL mais le résultat arrive dans la table sélection.

Merci.

Hors ligne

 

#2 Wed 22 February 2006 09:55

guy.maurice
Participant occasionnel
Date d'inscription: 5 Jan 2006
Messages: 11

Re: Requête SQL

Bonjour,

Et bien ce que tu peux faire c'est à partir de "table", allez dans "mettre à jour colonne" et de là choisir les bons champs pour ta table à mettre à jour. Pour "prendre valeur dans", utilise la table sélection (requête), enfin tu décides de ta colonne à mettre à jour.

Seconde solution, tu utilises encore la fonction mettre à colonne et alors tu n'utilises que ta table dans les deux premiers champs et tu mets à jour la colonne de ta table que tu veux remplir et tu écris ta requêtes sQL dans le champ valeur

voilà j'espère que ça ira et que j'ai été suffisament clair.
Au revoir
guy

Hors ligne

 

#3 Wed 22 February 2006 10:00

alex
Participant actif
Lieu: le puy en velay
Date d'inscription: 15 Nov 2005
Messages: 125
Site web

Re: Requête SQL

B'jour,

je pense qu'il y a deux solutions :
     * Soit tu gardes la solution de la requête SQL qui n'est pas mauvaise en soit et tu inclus dans la table qui recoit la sélection non seulement le calcul de la surface mais également le champs qui te sert de clé primaire dans ta table parcelle.tab. Ainsi une fois la table sélection créée il ne te reste plus qu'à joindre la colonne surface à la table parcelle grace au champ clé primaire.

     * Soit tu utilises MapBasic qui peut alors te calcul les surface (avec la fnction area) et replir une colonne directement dans ta table parcelle.

cordialement,
alex


J'arrête le combat pour le SVG !! et je ne fais plus que de l'information.
SVG : Scalable Vector Graphic ou comment mettre de la vie sur votre site Internet.
www.ode43.fr

Hors ligne

 

#4 Wed 22 February 2006 11:50

Bruno MONIER
Participant occasionnel
Lieu: Le Tholonet
Date d'inscription: 28 Nov 2005
Messages: 14

Re: Requête SQL

Bonjour,
Tu fais TableMettre à jour colonne ... Tu choisis bien ta table à mettre à
jour (parcelle) ainsi que la colonne (surface) et dans le champ valeur tu
choisis la fonction Area. Entre les parenthèses de cette fonction, tu n'as
rien à changer à part les unités de surface. Si tu veux des m², il te suffit
de changer "sq mi" par "sq m" ... et idem pour des km² --> "sq km"
Bon courage et bonne continuation.
Bruno MONIER

Hors ligne

 

#5 Wed 22 February 2006 11:51

Bruno Lafage
Invité

Re: Requête SQL

Bonjour :

table/ mettre à jour colonne/ colonne "surface" dans la table Parcelle/
valeur : choisir l'assistant /fonction : areas : Area(obj, "sq km")

cordialement

bruno lafage

 

#6 Wed 22 February 2006 12:19

Maud BAUDURET
Juste Inscrit !
Date d'inscription: 21 Feb 2006
Messages: 8

Re: Requête SQL

Re-bonj.

Alors voici ce que j'ai fait :

J'ai fait une sélection dans ma table parcelle, cette sélection se trouve maintenant dans une nouvelle table Query 104. Cette nouvelle table a deux champs : Numero_parcelle et SURFACE.

J'ai essayé de joindre la table parcelle avec la table Query 104 en utilisant le champ numero_parcelle comme clé primaire, mais MI me répond : impossible de mettre à jour la table parcelle.

Je suis passée par Table, Mettre à jour colonne.

Table à mettre à jour : Parcelle
Utilise une colonne de la table : Query 106
Colonne à mettre à jour : Surface
Calculer : Valeur ????? qu'est ce que c'est
De la colonne jointe : SURFACE


Et dans le bouton jointure j'ai mis :

jointure de type alphanu ou la colonne "numero_parcelle" de la table Parcelle
                                    correspond à la colonne "numero_parcelle" de la table Query 106



MI me répond : impossible de mettre à jour la table parcelle.


A noter que certain champ numero parcelle sont vides ou égal à 0. Se peut-il que la jointure ne se fasse pas à cause de ça.

Sinon y a t'il un problème du côté du type de données qui peut différer ? caractère entier flottant.

Tout ça est bien long à expliquer, désolée,

Maud

Hors ligne

 

#7 Wed 22 February 2006 12:39

alex
Participant actif
Lieu: le puy en velay
Date d'inscription: 15 Nov 2005
Messages: 125
Site web

Re: Requête SQL

effectivement il y a deux possibilités (décidemment)

* soit ta table est en lecture seule et ne peux être modifiée !!
* soit les types de champs ne sont pas les mêmes dans les deux colonnes (faciles à vérifier avec la gestion des tables voir structure !)


J'arrête le combat pour le SVG !! et je ne fais plus que de l'information.
SVG : Scalable Vector Graphic ou comment mettre de la vie sur votre site Internet.
www.ode43.fr

Hors ligne

 

#8 Wed 22 February 2006 13:06

Maud BAUDURET
Juste Inscrit !
Date d'inscription: 21 Feb 2006
Messages: 8

Re: Requête SQL

Réponse à Alex :

J'ai réussi autrement en créeant une colonne provisoire dans la table parcelle avec une jointure puis en mettant à jour ma colonne surface.

La méthode n'est pas idéale, mais en attendant mieux ça marche.

Merci à tous.

Hors ligne

 

#9 Wed 22 February 2006 14:15

k-rim
Juste Inscrit !
Date d'inscription: 18 Jan 2006
Messages: 3

Re: Requête SQL

Salut,
je t'aime, chérie plus que toi, tu ne atteindra jamais mon degré,

Hors ligne

 

#10 Wed 22 February 2006 14:19

k-rim
Juste Inscrit !
Date d'inscription: 18 Jan 2006
Messages: 3

Re: Requête SQL

Salut,
J'ai une carte sur mapinfo mais elle n'a pas de table(données), et je veux la connecter avec une table qui se trouve dans Postgres

Hors ligne

 

#11 Wed 22 February 2006 16:54

AxEor
Participant occasionnel
Date d'inscription: 5 Sep 2005
Messages: 18

Re: Requête SQL

Bonjour,

une query n'est pas une table, c'est une extraction de la données dans la
table cible, c'est pourquoi une jointure n'est pas possible sur une query,
elle n'as pas de réalité table.
si vous voulez faire votre jointure, faite la sur une table. c'est a dire
enregistez votre query et ré-ouvrez la table.
puis faites votre jointure.

sinon, le plus simple reste de creer un champ "surface" dans votre table de
départ et mettez la à jour avec la fonction area.

attention, il existe plusieurs type de calcul pour area (SphericalArea,
CartesianArea et Area) utilisez celle qui est adaptée à votre système de
projection (projection spherique, cartesienne etc...)

Bon courage
cordialement
Axeor

Hors ligne

 

Pied de page des forums

Powered by FluxBB