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 !.
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres des Utilisateurs Francophones de QGIS 2019 à Montpellier

12 et 13 décembre 2019 à Montpellier.

Cet événement est organisé en partenariat entre Montpellier SupAgro et l’OSGeo-fr.

http://conf.qgis.osgeo.fr/

 

#1 Tue 07 October 2008 17:00

tom
Membre
Lieu: Nyon
Date d'inscription: 10 Mar 2006
Messages: 26

Requête

GEOMEDIA PRO 6.0

Bonjour à tous,

Dans une table "historique" je recherche à extraire le MIN d'un champ 'DATE_MODIF" selon un ID.
Voici un exemple de ce que je souhaiterai obtenir.

DONNEES D'ENTREES :
ID_OUVRAGE    NOM    DATE_MODIF
6340    EMPRISE    17/10/2007 11:56
6340    EMPRISE    17/10/2007 12:21
6340    EMPRISE    17/10/2007 14:08
6342    EMPRISE    15/05/2008 14:26
6342    EMPRISE    15/05/2008 14:24


DONNEES RESULTANTES :
ID_OUVRAGE    NOM    DATE_DERNIERE_MOD
6340    EMPRISE    17/10/2007 11:56
6342    EMPRISE    15/05/2008 14:24

Je ne parviens pas à trouver la bonne syntaxe de requête. (attributaire ou attribut fonctionnel)

Merci pour vos élements de réponse.


Cdt,


- -
Thomas Lesage
E-mail: thomas.lesage@.dexip.com
DEXIP, 10, Quai Emile Cormerais
BP10324- 44803 SAINT-HERBLAIN


Thomas Lesage · Responsable unité géomatique
VILLE DE NYON
INFORMATIQUE ET POPULATION · UNITÉ GÉOMATIQUE

Hors ligne

 

#2 Tue 14 October 2008 15:08

tom
Membre
Lieu: Nyon
Date d'inscription: 10 Mar 2006
Messages: 26

Re: Requête

GEOMEDIA PRO 6.0

Bonjour,

Ma problématique reste posée. Je n'ai pas trouvé l'astuce me permettant de regrouper des enregistrements selon un ID.

Est-ce que l'un d'entre vous peut me dire si le regroupement topologique existe sous Geomedia.
En language SQL, cela se traduit par la commande "GROUP BY".


En pur SQL via un gestionnaire de BdD, j'écrirai ceci :

Code:

SELECT *
FROM HISTORIQUE
WHERE ID_HISTORI IN (SELECT MIN(ID_HISTORI) FROM HISTORIQUE GROUP BY ID_OUVRAGE);

Mais sous GM, pas certain que cela soit possible ...
Si vous avez des pistes, n'hésitez pas à proposer.
Merci beaucoup de votre aide.


Cordialement,


- -
Thomas Lesage
E-mail: thomas.lesage@.dexip.com
DEXIP, 10, Quai Emile Cormerais
BP10324- 44803 SAINT-HERBLAIN


Thomas Lesage · Responsable unité géomatique
VILLE DE NYON
INFORMATIQUE ET POPULATION · UNITÉ GÉOMATIQUE

Hors ligne

 

#3 Tue 14 October 2008 15:35

François
Membre
Lieu: Grenoble
Date d'inscription: 4 Apr 2007
Messages: 257

Re: Requête

Bonjour,

Il me semble qu'en sql il n'est pas possible de faire une clause de regroupement sur un select (*)...
Dans votre clause de regroupement il faudrait par exemple avoir un count(*).

Dans geomédia pour faire un group by il faut faire une requête de type "fusion analytique" avec un critère de fusion "par attribut" en choisissant un ou plusieurs attributs dans les critères de fusion.
Ceci marche sur des tables purement alphanumériques.
Nul besoin d'avoir de la géométrie contrairement à ce que suggère le mot "fusion".

Cordialement

Dernière modification par sisyphe (Tue 14 October 2008 15:37)


François

Hors ligne

 

#4 Tue 14 October 2008 16:00

François
Membre
Lieu: Grenoble
Date d'inscription: 4 Apr 2007
Messages: 257

Re: Requête

En complément de ma réponse :

- une requête de type fusion analytique avec un critère de fusion sur l'ID_OUVRAGE.
- dans cette même requête ajouter un attribut fonctionnel du type MIN(Input.DATE_MODIF)

Cela devrait marcher.


François

Hors ligne

 

#5 Tue 14 October 2008 17:46

tom
Membre
Lieu: Nyon
Date d'inscription: 10 Mar 2006
Messages: 26

Re: Requête

Un grand merci pour cette réponse.
Effectivement, il fallait bien utiliser la "Fusion Analytique".

Avec un seul attribut comme critère de fusion. + 1 attribut fonctionnel de type MIN(Input.DATE_MODIF)
Ceci fonctionne très bien.  (Ce n'est pas faute d'avoir essayer)

Pour clore le sujet, et pour les adeptes du SQL :
la clause GROUP BY d'une sous requête précedée d'un SELECT * est possible.

Encore merci pour la réponse.

- -
Thomas Lesage
E-mail: thomas.lesage@.dexip.com
DEXIP, 10, Quai Emile Cormerais
BP10324- 44803 SAINT-HERBLAIN


Thomas Lesage · Responsable unité géomatique
VILLE DE NYON
INFORMATIQUE ET POPULATION · UNITÉ GÉOMATIQUE

Hors ligne

 

#6 Wed 15 October 2008 08:09

François
Membre
Lieu: Grenoble
Date d'inscription: 4 Apr 2007
Messages: 257

Re: Requête

Pour clore le sujet, et pour les adeptes du SQL :
la clause GROUP BY d'une sous requête précedée d'un SELECT * est possible.


Effectivement !

J'avais mal lu votre requête !

Bonne journée !


François

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |