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