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

SQL Oracle Discussion :

Requête un peu compliquée


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 77
    Par défaut Requête un peu compliquée
    salut tout le monde,

    j'ai deux tableaux :
    Le premier contient les commandes : Commandes----Date_commande-----produit-------quantite

    Le deuxième contient les livraisons : date_livraison-----produit-------quantite

    Ma requête doit trouver toutes les commandes dont tous (je répète tous) les produits sont livrés (c'est à dire que la date de livraison de ces produits doivent être avant la date de commandes)

    Bon les tableau n'étaient pas comme ça mais j'ai pu enfin le raffiner pour enfin obtenir ces deux tableaux mais je suis arrêté là car je n'ai pas pu trouver la solution comment je peux faire.

    quelqu'un peut m'aider svp ?

  2. #2
    Membre extrêmement actif
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Billets dans le blog
    6
    Par défaut
    Table et non pas tableau.
    Peux tu poster tes essais avec un jeu de données pour t'aider?

  3. #3
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 77
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT  commande.date_commande, commande.commande, commande.produit, commande.quantite
    FROM commande
    WHERE EXISTS 
    (
     SELECT livraison.produit, SUM(livraison.quatite) AS qt
     FROM livraison
     
     WHERE commande.produit = livraison.produit
     AND livraison.date_livraison <= commande.date_commande
     AND commande.quantite <= qt
     GROUP BY (livraison.produit)
    )

  4. #4
    Membre émérite Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Par défaut
    Citation Envoyé par molo1987 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT  commande.date_commande, commande.commande, commande.produit, commande.quantite
    FROM commande
    WHERE EXISTS 
    (
     SELECT livraison.produit, SUM(livraison.quatite) AS qt
     FROM livraison
     
     WHERE commande.produit = livraison.produit
     AND livraison.date_livraison <= commande.date_commande
     AND commande.quantite <= qt
     GROUP BY (livraison.produit)
    )
    Hello molo1987,

    Tu ne peux pas référencer un alias dans la clause where.

    SQL Error: ORA-00904: "QT": invalid identifier
    00904. 00000 - "%s: invalid identifier"

    jko

  5. #5
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 77
    Par défaut
    Citation Envoyé par jkofr Voir le message
    Hello molo1987,

    Tu ne peux pas référencer un alias dans la clause where.

    SQL Error: ORA-00904: "QT": invalid identifier
    00904. 00000 - "%s: invalid identifier"

    jko
    je ne l'ai pas encore tester sur oracle mais ce qui m'interesse maintenant c comment faire pour resoudre cette requete

  6. #6
    Membre émérite Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Par défaut
    Voici une option:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    alter session set nls_date_format='dd-mm-yyyy';
     
    create table commande
    (
    date_commande  date, id number, produit number, quantite number
    );
     
    create table livraison
    (
    date_livraison date, produit number, quantite number
     
    )
     
     
    insert into commande values ('10-12-2012',1,5,2);
    insert into commande values ('10-12-2012',1,6,2);
    insert into commande values ('10-12-2012',2,7,2);
    insert into livraison values ('09-12-2012', 5, 6);
    insert into livraison values ('09-12-2012', 6, 6);
    insert into livraison values ('12-12-2012', 7, 6);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select date_commande,commande.id, commande.produit from commande
    having sum (commande.quantite) <= (select sum (quantite) from livraison where produit = commande.produit and date_livraison <= commande.date_commande group by produit)
    group by date_commande,id, produit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DATE_COMMANDE ID PRODUIT
    ------------- -- -------
    10-12-2012     1       5 
    10-12-2012     1       6
    jko

  7. #7
    Membre émérite Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Par défaut
    Citation Envoyé par molo1987 Voir le message
    c'est à dire que la date de livraison de ces produits doivent être avant la date de commandes

    Hello,

    Je comprends pas...

    Ce n'est pas plutôt:

    c'est à dire que la date de livraison de ces produits doivent être après la date de commandes?

    jko

  8. #8
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 77
    Par défaut
    Citation Envoyé par jkofr Voir le message
    Hello,

    Je comprends pas...

    Ce n'est pas plutôt:

    c'est à dire que la date de livraison de ces produits doivent être après la date de commandes?

    jko
    la requete doivent selectioner tout les commandes dont toutes ses produits sont livrable avant la data de commande

    Explication:
    je commande trois choses (p1-p2-p3) pour le 20-02-1013
    pour que le systeme puisse confirmer cette commande:il doit verifier que toutes les produits (p1-p2-p3)de cette commande sont livrable avant le 20-02-2013

  9. #9
    Membre émérite Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Par défaut
    okidoki! capito!

    jko

  10. #10
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 77
    Par défaut
    ???

Discussions similaires

  1. Requête SQL de recherche un peu compliquée
    Par ned-flanders dans le forum Langage SQL
    Réponses: 5
    Dernier message: 08/04/2013, 14h25
  2. [PHP 5.2] Résultat d'une requête dans un tableau un peu compliqué
    Par renaud26 dans le forum Langage
    Réponses: 7
    Dernier message: 31/03/2011, 06h28
  3. Requête un peu compliquée
    Par tchem dans le forum Requêtes
    Réponses: 17
    Dernier message: 06/03/2009, 08h58
  4. [SQL - ORACLE] Requete un peu compliquée (pour moi)
    Par Worldofdada dans le forum Langage SQL
    Réponses: 15
    Dernier message: 03/11/2005, 08h25
  5. Requête un peu trop compliqué pour moi
    Par Kokito dans le forum Langage SQL
    Réponses: 5
    Dernier message: 18/04/2005, 15h17

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