Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

GEODATA DAYS 2024

#1 Thu 19 July 2007 11:15

mathildeharel
Participant occasionnel
Date d'inscription: 4 Nov 2005
Messages: 17

renommer nom colonnes suite à requête SQL

Bonjour à tous,
J'ai chercher dans le forum mais je n'ai rien trouvé à ce sujet...
Je fais une requête SQL avec une colonne en "count" et une autre en "sum". Je souhaite modifier ces noms de colonnes barbares qui apparaissent afin d'intégrer ma table "données" compréhensible dans la mise en page.
Merci d'avance pour vos réponses.

Hors ligne

 

#2 Thu 19 July 2007 11:20

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: renommer nom colonnes suite à requête SQL

Avec ceci par exemple ?

Alter Table "NomdeMaTable" ( rename Nomdecolonnebarbare NomdeColonneComprehensible )


EDIT : j'oubliais, c'est a taper dans la fenêtre Mapbasic qui est dispo là : "Menu Affichage/Afficher la fenêtre Mapbasic"

Hors ligne

 

#3 Thu 19 July 2007 12:29

mathildeharel
Participant occasionnel
Date d'inscription: 4 Nov 2005
Messages: 17

Re: renommer nom colonnes suite à requête SQL

Je ne suis pas très douée en prog, d'autant plus que je n'ai pas MB. Mais j'ai tenté avec la fenêtre MB Alter query2 (rename count NB), et message d'erreur "erreur de syntaxe:query2"...
Je pensais plus à une manip dans la fenêtre "sélection SQL"...

Merci de votre réponse

Hors ligne

 

#4 Thu 19 July 2007 12:41

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: renommer nom colonnes suite à requête SQL

Hello,

Ah oui, je comprend mieux. A priori la table n'existe pas "en dur" si on la sauvegarde pas, d'où l'erreur.
Pour la création de colonne Count(*) sous un nom différent, je sèche via la boîte de dialogue Selection SQL, mais il y a peut être un moyen (?).

Juste un petit complément : ce que j'ai mis comme code n'est pas de la programmation à proprement parler, pas d'inquiétude, c'est accessible, pas besoin de MB en plus.

Par exemple, il suffit d'ouvrir la  fenêtre MB quand on bosse pour voir l'équivalent de toutes les commandes que l'on passe à Mapinfo via les boîte de dialogue inscrite dans la fenêtre. Il est ainsi possible de faire des macro, des scripts des choses du genre par forcément toujours très élaboré.

Exemple équivalent à la fenêtre de sélection SQL :

Code:

Select Count(*) from MaTable where Superficie > 10 group by ID into MaSelection

L'intêret est de réexploiter cette ligne pour l'inclure dans un script par exemple wink Pour lancer le script il suffit de coller cette ligne dans la FMB, selectionner et taper entrée pour relancer la même procédure.

Désolé de pas pouvoir aider sur ce coup, mais il y a surement un truc très simple qui m'a échappé sad
Robin.

Hors ligne

 

#5 Thu 19 July 2007 12:49

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: renommer nom colonnes suite à requête SQL

Bonjour
Le truc simple c'est de nommer tout de suite la colonne dans la requête
Pour reprendre l'exemple de Robin ça donnerait (si on veut donner le nom "machin")

Code:

Select Count(*) "machin" from MaTable where Superficie > 10 group by ID into MaSelection

Après, le renommage n'est plus possible, sauf à enregistrer en dur la table obtenue et à passer alors par Table->Modifier structure

Hors ligne

 

#6 Thu 19 July 2007 14:51

FloDumont
Participant occasionnel
Lieu: Bamako
Date d'inscription: 2 Apr 2007
Messages: 34

Re: renommer nom colonnes suite à requête SQL

Bonjour Mathilde,

Pour ne pas te tracasser avec la fenêtre MapBassic, lorsque tu effectues ta requête, juste à la suite de count(*) et de sum(...), il suffit d'indiquer entre guillements le nom du champ souhaité.
Par exemple : count(*) "NbreDeVillages"

Bonne journée. Bon courage.

Florence

Hors ligne

 

#7 Thu 19 July 2007 19:05

mathildeharel
Participant occasionnel
Date d'inscription: 4 Nov 2005
Messages: 17

Re: renommer nom colonnes suite à requête SQL

OK, pas de problème, c'est déjà sympa de vous être penché sur la question!
merci encore
[EDIT Maurice] Messages suivants regroupés
- de mathildeharel: Je me doutais un peu que c'était un truc simple (mais je ne parvenais pas à m'en souvenir!), et je confirme, ça marche!! Merci !
- de mathildeharel: OK, merci!
- de Maurice: Mathilde, tu as oublié "au revoir !"  smile
- de mathildeharel: Au revoir! smile

Dernière modification par Maurice (Fri 20 July 2007 12:14)

Hors ligne

 

#8 Tue 20 November 2007 12:11

FloDumont
Participant occasionnel
Lieu: Bamako
Date d'inscription: 2 Apr 2007
Messages: 34

Re: renommer nom colonnes suite à requête SQL

Bonjour à tous,

Je reviens sur cette question pour un complément d'aide.
J'avais répondu que pour avoir un nom correct de colonne, il fallait lorsque l'on effectue la requête SQL, juste à la suite de count(*) et de sum(...), indiquer entre guillements le nom de colonne souhaité.
Par exemple : count(*) "NbreDeVillages"
Cela fonctionne, en effet, très bien. Mon soucis aujourd'hui est que lorsque j'exporte la fenêtre contenant mon tableau de synthèse en .txt et qu'ensuite j'ouvre ce fichier sous excel, le "joli" nom de colonne reste pour sum(...) mais pas pour count(*) !
Quelq'un aurait-il une idée du pourquoi et comment y "remédier" ?

Merci à tous et bonne journée.

Florence

Hors ligne

 

#9 Tue 20 November 2007 12:58

FloDumont
Participant occasionnel
Lieu: Bamako
Date d'inscription: 2 Apr 2007
Messages: 34

Re: renommer nom colonnes suite à requête SQL

Désolée de vous avoir dérangé !
J'ai trouvé la solution : le bon intitulé ne restait pas sous excel tout simplement parce que j'avais mis, lors de la requête SQL, des espaces entre les mots (mais il s'affichait bien dans le tableau de données MapInfo !).
Vraiment comme on dit ici, c'est trop mesquin !!!

Bonne journée à tous.

Hors ligne

 

Pied de page des forums

Powered by FluxBB