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 :

Aide sur Une Requête


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 279
    Par défaut Aide sur Une Requête
    salut
    J ai 3 champs (dateeffet) de type date dans 3 tables differentes , je veux selectionner le maximum entre ces trois champs et le nom de la table qui contient la plus grande valeur.
    comment faire?
    merci d'avance

  2. #2
    Membre émérite Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Par défaut
    - ça dépend grandement de ton SGBD
    - seul un admin pourra lancer ta requête (utilisation de la méta base)
    - ton modèle de donnée doit probablement être à revoir

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 279
    Par défaut
    j utilise Oracle 10g
    je suis l administrateur de la base.
    merci de m aider a construire cette requete

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 135
    Par défaut
    Pourriez-vous nous présenter une ébauche de la requête que vous tentez de mettre au point ainsi que le structure des tables en jeu.
    Cela sera plus facile pour vous aider à la faire évoluer.
    Règles du forum Langage SQL à lire par tous
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 187
    Par défaut Une solution.
    salut,

    sous oracle la requette suivante devrais marcher nickel!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select nomtable, max(dateeffet) from (
       select "table1" nomtable, dateeffet from table1 where XXX
       union all
       select "table1", dateeffet from table1 where XXX
       union all
       select "table1", dateeffet from table1 where XXX
    ) group by nomtable

    P.

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 187
    Par défaut oops...
    oops, petit correctif.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT nomtable, max(dateeffet) FROM (
       SELECT "table1" nomtable, dateeffet FROM table1 WHERE XXX
       union ALL
       SELECT "table2", dateeffet FROM table2 WHERE XXX
       union ALL
       SELECT "table3", dateeffet FROM table3 WHERE XXX
    ) group by nomtable

  7. #7
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 279
    Par défaut
    j ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT nomtable, max(dateeffet) FROM (
       SELECT 'CTMS_MVDIVISION' nomtable, dateeffet FROM CTMS_MVDIVISION WHERE matricule=x
       union ALL
       SELECT 'CTMS_MVSERVICES' nomtable, dateeffet FROM CTMS_MVSERVICES WHERE matricule=x
       union ALL
       SELECT 'CTMS_MVUNITE' nomtable, dateeffet FROM CTMS_MVUNITE WHERE matricule=x)
    group by nomtable
    et le resultat est :
    NOMTABLE MAX(DATE
    CTMS_MVUNITE 01/11/07
    CTMS_MVSERVICES 01/10/07
    CTMS_MVDIVISION 12/07/06

    Mais moi je veux afficher uniquement la premiere ligne
    CTMS_MVUNITE 01/11/07
    Comment faire?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL] Besoin d'aide sur une requête
    Par Angath dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/01/2006, 16h26
  2. Réponses: 1
    Dernier message: 03/08/2005, 11h41
  3. Besoin d'aide sur une requête (JOIN + COUNT ?)
    Par PanzerKunst dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/06/2005, 10h29
  4. Aide sur une requête
    Par TshAw dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/02/2005, 11h42
  5. Aide sur une requête (Group By...??)
    Par Cocolapin dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/12/2004, 10h26

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