#1 Mon 13 November 2006 18:14
- stef.renou
- Juste Inscrit !
- Date d'inscription: 13 Nov 2006
- Messages: 8
Un Group by non récupérable...
Bonjour à tous,
Mon Problème :
1 - J'ai une table alpha avec 2 colonnes ID_Objet / Code_INSEE commune. on peut avoir plusieurs objets pour une commune
2 - Je veux compter le nb d'objet par commune :
SELECT Code_INSEE, Cont(*) FROM Table GROUP BY Code_INSEE
J'obtiens un résultat "Query1" : 2 colonne Code_INSEE / Count.
3 - J'ai une table "commune" à laquelle je rajoute "count" de "Query1" en colonne temporaire avec jointure sur le "Code_INSEE" des deux tables.
En SQL ça donne ça :
Add Column "Commune" (_COL2 Integer) From Query1 Set To Count Where COL2 = COL1 Dynamic
Jusque là pas de surprises
4 - j'enregistre mon document
5 - Je ne peux plus l'ouvrir !!!
En fait, quand MapInfo relit l'expression Add Colomn... Il attend une expression derrière Count et ne le reconnaît plus comme nom de colonne.
Peut-on renommer en dur la colonne "count" de Query 1 ?
existerait-il une autre méthode pour arriver au même résultat tout en garantissant l'intégrité de ma table "commune" (en utilisant une colonne temporaire) ?
Merci
Hors ligne
#2 Mon 13 November 2006 19:30
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Un Group by non récupérable...
Bonjour,
Il est tard(!) mais, en première approche, je vous suggère:
SELECT Code_INSEE, Count(*) "compte" FROM Table GROUP BY Code_INSEE
puis
Add Column "Commune" (_COL2 Integer) From Query1 Set To compte Where COL2 = COL1 Dynamic
...à vérifier
Hors ligne
#3 Tue 14 November 2006 09:30
- stef.renou
- Juste Inscrit !
- Date d'inscription: 13 Nov 2006
- Messages: 8
Re: Un Group by non récupérable...
Ca marche parfaitement.
Il faut cependent revenir à chaque fois sur le .Wor lors d'une mise à jour pour replacer la requête avant l'ajout de colonne.
Car sur les .wor on trouve toujours par défaut l'ordre :
OPEN TABLE...
...
ADD COLOMN...
...
SELECT...
Merci pour ta réponse.
Stef
Hors ligne
#4 Tue 14 November 2006 10:11
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Un Group by non récupérable...
Peut être ajouter la colonne en dur et passer par un Update qui s'effectue en ouverture du Wor...??
Hors ligne
#5 Tue 14 November 2006 10:43
- stef.renou
- Juste Inscrit !
- Date d'inscription: 13 Nov 2006
- Messages: 8
Re: Un Group by non récupérable...
En effet, Je vais faire comme ça
Merci pour tes conseils
Hors ligne
#6 Wed 17 September 2008 11:17
- Jum
- Juste Inscrit !
- Date d'inscription: 23 Jul 2008
- Messages: 1
Re: Un Group by non récupérable...
Bonjour,
Je suis confronté exactement au même problème.
Quelqu'un connaîtrait-il une solution permettant de ne pas avoir à:
- replacer "manuellement" la requête avant l'ajout de colonne dans le .wor à chaque mise à jour,
- ni ajouter une colonne en dur (pour ne pas altérer la table des communes)?
Merci de vos réponses
Hors ligne
#7 Wed 17 September 2008 14:47
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Un Group by non récupérable...
AMHA...non
Et "l'altération" de la table commune n'est pas si terrible...et elle est réversible
S'il le faut enregistez commune et utilisez cette nouvelle table
Hors ligne