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 non valide !


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Par défaut Requête non valide !
    Bonjour ,

    Dans ma base de données relationnelle j'ai trois 4 tables de schéma suivante :

    Usine(nu,nomu,ville)
    Produit(np,nomp,couleur,poids)
    Fournisseur(nf,nomf,statut,ville)
    PUF(np*,nu*,nf*,quantite)

    La question est la suivante :
    ----> Lister par fournisseur le nombre de produits qui ne sont jamais livrés .

    Voici ma solution proposée mais ça marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     select nf, count(distinct np) np1,(np2 - np1) as "Nbr_Produit_Jamais_Livres" 
    from PUF
    group by nf
    havint count(distinct np) < all (select count(distinct np) np2 from Produit);
    1) ici j'ai essayé d'utlisé des alias :
    * np1 pour la 1ér count(distinct np) qui représente le nbr de produits livrés par chaque fournisseur

    *np2 ppour la 2ém count(distinct np) qui représente le nbr de produits total que l'on dispose dans notre table Produit

    2)np2-np1 : pour calculer le nbr de produit qui ne sont jamais livré.

    Remarque :
    je l'ai compilé, mais il m'affiche cette erreur :
    ERREUR à la ligne 1 : NP1 identificateur non valide


    Merci de lire mon message et Veuillez s'il vous plaît m'aidez et me corrigez mes fautes .

    Sisiniya.

  2. #2
    Membre averti
    Inscrit en
    Février 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 26
    Par défaut
    Citation Envoyé par sisiniya Voir le message
    ERREUR à la ligne 1 : NP1 identificateur non valide
    l'alias d'une colonne ne peut pas être utiliser pour faire du calcul
    est ce que dans Produit il y a nf

  3. #3
    Membre averti
    Inscrit en
    Février 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 26
    Par défaut
    si j'ai bien compris, PUF contient les produits livrés
    est ce qu'il n'existe pas une table contenant les produits commandés

  4. #4
    Membre chevronné Avatar de ypicot
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 412
    Par défaut
    Il s'agit visiblement d'un exercice.
    Donc, je ne vais pas te donner la solution (du moins telle que je la conçois, ce qui peut être différent de la solution de ton prof), mais plutot des pistes.

    a) il faudrait peut-être commencer par trouver la liste des produits livrés
    b) trouver la liste de tous les produits (facile)
    c) puis tu utilises (par exemple) un NOT IN pour trouver ce qui appartient à b) sans appartenir à a), cela te donnera la liste des produits non livrés

    Yvan

  5. #5
    Membre confirmé Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Par défaut
    Réponse pour "jackm" :

    1)est ce que dans Produit il y a nf ?
    ----> Non , la table produit contient juste Produit(np,nomp,couleur,poids)
    2)est ce qu'il n'existe pas une table contenant les produits commandés ?
    -----> Non ,

    Réponse pour "ypicot" :

    1) Premierement , je n'ai pas l'habitude de demander l'aide sans faire mes essaies une et deux et plusieurs fois , quand si ça marche pas , là je demande l'aide !! et j'attend jamais la réponse de prof pour la comparer si la mienne marche , mais dans ce cas je gagne deux solutions différents!

    2) Pour Votre réponse , je vous remercie pour votre solution , mais cette solution repond à la question suivante : chercher les produits qui ne sont jamais livrés ? c'est facile à trouver .
    par contre ce n'est pas ma question , je la répéte :
    Lister par fournisseur le nombre de produits qui ne sont jamais livrés .

    ici le probléme c'est la partition, on cherche pour chaque fournisseur (nf) .

    Je Vous remercie .

    Sisiniya.

  6. #6
    Membre chevronné Avatar de ypicot
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 412
    Par défaut
    J'ai bien vu que tu as fait des essais !
    J'indiquais juste la raison pour laquelle je ne donnais pas la réponse. N'y vois aucune agression de ma part.

    Pour avoir la liste par fournisseur, tu fait le GROUP BY idoine. Dans ta rq, j'avais l'impression que tu étais passé à coté des "produits jamais livrés"

    Yvan

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

Discussions similaires

  1. [Oracle] Requète non valide avec php mais OK dans sql developper
    Par bedomon dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/06/2012, 15h51
  2. Réponses: 5
    Dernier message: 02/12/2010, 16h04
  3. [SQL] Résultat de fonction php non valide dans requête SQL
    Par darksnake dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/12/2007, 13h44
  4. "Argument non valide" sur requête
    Par KEROZEN dans le forum Access
    Réponses: 4
    Dernier message: 15/08/2007, 20h35
  5. "Argument non Valide" d'une requête
    Par guestCam dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 09/03/2007, 16h46

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