IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Problème pour bâtir requête SQL


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Problème pour bâtir requête SQL
    Bonjour,

    Je vous explique du mieux que je peux ce que je désire obtenir avec ma requête.

    J'ai une table Oracle qui contient des transactions.
    Il existe une 'clé fonctionnelle' qui comprend 3 champs, elle n'est pas unique.

    Ce que je veux, c'est d'arriver à extraire tous les champs de cette table mais uniquement la transaction la plus récente (date_modif) par groupe de clé fonctionnelle.

    Pour avoir la plus récente, j'utiliserais un MAX(date_modif) avec un GROUP BY, mais ce genre de requête ne retourne que les champs qui sont dans le group by et non pas la ligne au complet de la table.

    J'aimerais que vous m'aidiez svp.

    Admettons les champs A, B, C, D, E, F, date_modif dont A, B, C font partie de la clé fonctionnelle, comment feriez-vous la requête pour répondre à mon besoin ?

    Merci d'avance !!
    Valérie

  2. #2
    Membre expert
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Points : 3 103
    Points
    3 103
    Par défaut
    Bonjour,

    Essaies 1 requête corrélée.
    Si ton moteur accepte les 'rows values contructor', ça ressemble à qque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select * 
    from table te
    where (t.clef_fonctionnelle, te.date) =
    (
    select ti.clef_fonctionnelle, MAX(ti.date)
    from table ti
    group by ti.clef_fonctionnelle
    );

    A +

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci, je vais essayer cela.

    Au niveau de la performance, est-ce que cela tire beaucoup de jus si j'ai environ 100 000 enregistrements dans la table ?

    Merci encore !!
    Bonne journée !
    Valérie

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 566
    Points
    19 566
    Billets dans le blog
    25
    Par défaut
    Assurez-vous de l'existence d'un index sur les colonnes (t.clef_fonctionnelle, te.date)
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

Discussions similaires

  1. Problème pour une requête SQL
    Par bombers dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/01/2015, 13h09
  2. Problème avec une requête SQL, pour access
    Par a.bott dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 23/09/2008, 17h08
  3. [SQL 2005] Problème pour une requête SELECT
    Par Rodie dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/06/2007, 17h12
  4. problème de syntaxe delphi pour une requête sql
    Par socooooool dans le forum Bases de données
    Réponses: 12
    Dernier message: 07/07/2006, 16h53
  5. Besoin d'aide pour une Requête SQL ...
    Par Kokito dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/07/2004, 11h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo