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 Procédural MySQL Discussion :

Procédure stockée contenant 2 requêtes


Sujet :

SQL Procédural MySQL

  1. #1
    Invité de passage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 30
    Points : 15
    Points
    15
    Par défaut Procédure stockée contenant 2 requêtes
    Étant débutant en programmation, je développe actuellement une application C# connectée à une base de données Mysql. J'ai cependant un petit soucis pour un traitement que je dois effectuer, le problème se situe sur deux tables que voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PRODUIT(Id_Produit (clé primaire), Ref_Produit, Libelle_Produit);
    LIGNE_STOCK(Ref_Ligne(clé primaire), QteDispo, Id_Produit(clé étrangère));
    A chaque mouvement dans ma base, ma table ligne de stock va changer, par exemple pour le produit Id = 1, j'en ajoute 4 en stock puis j'en enlève 1 alors on trouvera ces valeurs dans la ligne de stock :
    - 1, 4, 1
    - 2, 3, 1

    Je souhaiterai obtenir pour une référence saisie par l'utilisateur, tous les produits de cette référence avec à chaque fois la dernière ligne de stock les concernant afin de connaître l'état actuel du stock. Comment puis-je faire?
    Dois-je tous d'abord faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Id_Produit FROM Produit WHERE Reference_Produit = 'BS154';
    puis boucler sur tous les Id et lancer une requête avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Id_Produit, QteDispo
    FROM LIGNE_STOCK
    WHERE Ref_Ligne = (SELECT MAX(Ref_Ligne));
    Ou existe-t-il une autre solution?

    En espérant avoir été clair, je vous remercie d'avance de vos réponses.

    Cordialement.

  2. #2
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    salut,

    tu as une traçabilité très réduite là...

    ce que tu fais ne marchera pas car les fonctions de groupage sont interdites dans le where... faut faire un groupement et utiliser une clause having...

    un truc du genre:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Id_Produit,Ref_Ligne, QteDispo
    FROM LIGNE_STOCK
    group by Id_Produit
    having Ref_Ligne = MAX(Ref_Ligne)
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  3. #3
    Invité de passage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    Cela ne m'affiche pas les bon résultats...

    Mais c'est bon j'ai trouvé j'ai crée une procédure stockée où je passe en paramètre ma référence de produit puis à l'intérieur de celle-ci je créer une table temporaire avec la quantité disponible pour chaque produit puis j'affiche le contenu.

    Merci bien.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 15/02/2011, 00h10
  2. Remplacer une procédure stockée par une requête live
    Par antoniofr dans le forum Requêtes
    Réponses: 0
    Dernier message: 05/12/2008, 15h58
  3. Réponses: 6
    Dernier message: 06/08/2008, 15h25
  4. les vues procédures stockées et les requêtes…
    Par zakaroh dans le forum MS SQL Server
    Réponses: 15
    Dernier message: 15/05/2008, 22h46
  5. Procédure stockée, concaténation dans requête
    Par sbeu dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 01/08/2005, 12h03

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