Créer une fonction MySQL [ MySQL 4.1 ] - SQL/NoSQL - Programmation
MarshPosté le 22-02-2006 à 10:23:41
Bonjour,
Je suis actuellement confronté à un problème et je souhaiterais savoir si il est solvable par une seule et même requête.
J'ai une table article qui correspond à un stock physique.
Article ---------- #reference #rayon qte
J'ai une table réservation, cette table ne correspond pas forcèment au stock physique.
Reservation ---------- #ref_art #ray_art qte_art
A savoir que si le champs rayon est vide, cela désigne une réservation sur l'ensemble du stock et pas un rayon en particulier. La qantité reservée peut être également supérieure/inférieure/égale au stock réel.
Jusque là je pense que le problème est 'simple' à comprendre .
Maintenant l'utilisateur a accès à la liste des articles en stock (formulaire 1) et accès à la liste des réservations (formulaire 2). Afin de gagner du temps, il souhaite pouvoir afficher en rouge par exemple les lignes pour lequelles l'article en stock est reservé (dans le formulaire 1).
Donc jusqu'à présent, pour afficher son état des stocks, je faisait une bête requête
select reference,rayon,qte from article
je pourrais toujours faire
select reference,rayon,qte from article
puis reparser mes lignes et tester si il y a une reservation pour chaque ligne avec
select * from reservation,article where ref_art=reference_parsee and ray_art=rayon_parse and qte_art=qte_parsee
Est ce que celà peut se faire en une seule requête avec une fonction 'maison' qui renverai un booleén à coder du côté de MySQL ?
Marsh Posté le 22-02-2006 à 10:23:41
Bonjour,
Je suis actuellement confronté à un problème et je souhaiterais savoir si il est solvable par une seule et même requête.
J'ai une table article qui correspond à un stock physique.
Article
----------
#reference
#rayon
qte
J'ai une table réservation, cette table ne correspond pas forcèment au stock physique.
Reservation
----------
#ref_art
#ray_art
qte_art
A savoir que si le champs rayon est vide, cela désigne une réservation sur l'ensemble du stock et pas un rayon en particulier.
La qantité reservée peut être également supérieure/inférieure/égale au stock réel.
Jusque là je pense que le problème est 'simple' à comprendre .
Maintenant l'utilisateur a accès à la liste des articles en stock (formulaire 1) et accès à la liste des réservations (formulaire 2).
Afin de gagner du temps, il souhaite pouvoir afficher en rouge par exemple les lignes pour lequelles l'article en stock est reservé (dans le formulaire 1).
Donc jusqu'à présent, pour afficher son état des stocks, je faisait une bête requête
select reference,rayon,qte from article
je pourrais toujours faire
select reference,rayon,qte from article
puis reparser mes lignes et tester si il y a une reservation pour chaque ligne avec
select * from reservation,article where ref_art=reference_parsee and ray_art=rayon_parse and qte_art=qte_parsee
Est ce que celà peut se faire en une seule requête avec une fonction 'maison' qui renverai un booleén à coder du côté de MySQL ?
select reference,rayon,qte,IS_RESA() from article