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

Deski Discussion :

Comment récupérer une valeur conditionnée par un Min


Sujet :

Deski

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 49
    Points : 29
    Points
    29
    Par défaut Comment récupérer une valeur conditionnée par un Min
    Bonjour a tous,

    Je vous sollicite de nouveau

    Voilà, je dois récupérer la 1ère commande par client
    Dans mon univers j'ai donc les objets
    - N° client
    - N° de commande
    - Date de commande

    Il faudrait que je crée l'objet 1ère commande mais je n'arrive pas à rajouter dans la clause where une sous-requete
    j'obtiens un message d'erreur, il refuse mon agrégat min sur la date de commande

    Comment dois-je procéder?

    Merci

  2. #2
    Membre expérimenté
    Avatar de Julien59
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 142
    Points : 1 458
    Points
    1 458
    Par défaut
    Bonjour,

    Je te renvoie à cette discussion
    Ca répondra normalement à ton besoin.
    Bon courage
    • Pensez à consulter la FAQ BO
    • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Voici le SQL de ma table dérivée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT RANK(1) OVER(PARTITION BY ID_NUMBER,
    HEADER_NUMBER, DETAIL_NUMBER ORDER BY DETAILS_DATE ASC) AS ID_NUMBER,
    HEADER_NUMBER,
    DERAIL_NUMBER,
    DETAILS_DATE
    FROM 
    SA.TABLE_CASE,
    SA.TABLE_DEMAND_HDR,
    SA.TABLE_DEMAND_DTL
    WHERE
    SA.TABLE_CASE.OBJID = SA.TABLE_DEMAND_HDR.CASEINFO2CASE
    AND SA.TABLE_DEMAND_HDR.OBJID = SA.TABLE_DEMAND_DTL.DEMAND_DTL2DEMAND_HDR
    En vérifiant la syntaxe, j'ai le message suivant

    Exception: DBD, ORA-02000 : mot-clé WITHIN absent State:N/A
    Où est l'erreur?

    Merci

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    J'ai trouvé l'erreur. C'était le rank(1). Je pensais pouvoir filtrer directement

    par contre, pour les jointures, faut-il que je reproduise les mêmes jointures que sur la table d'origine?

  5. #5
    Membre expérimenté
    Avatar de Julien59
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 142
    Points : 1 458
    Points
    1 458
    Par défaut
    Tu fais les jointures qui t'intéressent selon ton univers
    Tu peux faire très bien faire ta jointure sur :
    - N° client
    - N° de commande
    par exemple.
    C'est selon ton besoin, mais a priori c'est ce dont tu as besoin.
    Bon courage
    • Pensez à consulter la FAQ BO
    • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Ce n'est pas clair pour moi, désolée

    Dans mon univers, j'ai 3 tables :
    Table des clients
    Table des commandes
    Table des lignes commandes

    Les jointures sont
    - entre client et commandes avec une jointure externe sur commandes
    - entre commandes et lignes commandes

    J'ai créé une table dérivée reprenant les champs client, commande, ligne commande et date de création de la ligne

    Quelles jointures dois-je reproduire pour sortir par client la 1ère commande passée?
    Entre la table client et ma table dérivée?

    Merci

  7. #7
    Membre expérimenté
    Avatar de Julien59
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 142
    Points : 1 458
    Points
    1 458
    Par défaut
    Oui, entre la table client et la table dérivée.
    • Pensez à consulter la FAQ BO
    • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Merci

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Dernière question je l'espère.

    Mon univers a comme table principale la table commande.
    Il existe une jointure externe entre la table commande et la table client.

    Suite à la création de ma table dérivée, faut il que je crée une jointure externe également sur ma table dérivée avec la même table commande?

    Le but est de créer un état reprenant tous les clients et les infos du clients présent dans un univers A et récupérer par une requête liée la 1ère commande du client. Cette info peut ne pas exister pour le client.

  10. #10
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonsoir,

    Question bête

    Des jointures normalisées, c'est pas possible ?

    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  11. #11
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Bonjour,

    Qu'entend tu par jointure normalisée?

  12. #12
    Membre expérimenté
    Avatar de Julien59
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 142
    Points : 1 458
    Points
    1 458
    Par défaut
    Si je me souviens bien de mes cours :p :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select 1 from 
    tableA, table B
    where tableA.champ1 = tableB.champ1
    n'est pas normalisé et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select 1 from tableA 
    inner join tableB 
    on tableA.champ1 = tableB.champ1
    Est normalisé.
    • Pensez à consulter la FAQ BO
    • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 22/08/2007, 18h07
  2. Réponses: 4
    Dernier message: 25/05/2007, 17h04
  3. Comment récupérer des valeur séparé par ; ?
    Par Nico128 dans le forum Delphi
    Réponses: 12
    Dernier message: 14/01/2007, 12h42
  4. Comment récupérer une valeur d'un paramètre d'une balise object?
    Par cassy dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 15/11/2006, 12h12
  5. Réponses: 1
    Dernier message: 31/07/2006, 13h54

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