Valeur à 0
domi6226
Messages postés
79
Date d'inscription
Statut
Membre
Dernière intervention
-
A.Nonymous -
A.Nonymous -
Bonjour,
J'ai plusieurs produits, j'ai créé un état qui reprends tous les mouvements avec un regroupement par mois
Certains ne mouvementent pas et donc le mois sans mouvement n'apparaît pas, est-il possible de faire faire ressortir ce mois l'état même s'il n'y a pas de mouvements.
Merci de votre aide.
J'ai plusieurs produits, j'ai créé un état qui reprends tous les mouvements avec un regroupement par mois
Certains ne mouvementent pas et donc le mois sans mouvement n'apparaît pas, est-il possible de faire faire ressortir ce mois l'état même s'il n'y a pas de mouvements.
Merci de votre aide.
A voir également:
- Valeur à 0
- Remettre a 0 un pc - Guide
- Code ascii de 0 à 9 - Guide
- Numéro de téléphone excel 0 - Guide
- A-docv9-0-zn - Forum Freebox
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
1 réponse
Dans un cas où des données liées peuvent exister ou ne pas exister, il faut utiliser une jointure "LEFT"
SELECT
produit.*, COUNT(DISTINCT mouvement.id) nb_mouvements
FROM prodiut
LEFT JOIN mouvement ON mouvement.id_produit = produit.id
GROUP BY produit.id
(Ca pourrait être avec RIGHT aussi, mais tout SQL utilisant RIGHT peut être converti en SQL utilisant LEFT)
SELECT
produit.*, COUNT(DISTINCT mouvement.id) nb_mouvements
FROM prodiut
LEFT JOIN mouvement ON mouvement.id_produit = produit.id
GROUP BY produit.id
(Ca pourrait être avec RIGHT aussi, mais tout SQL utilisant RIGHT peut être converti en SQL utilisant LEFT)
Merci de votre aide.
Mais dans ce cas, il va falloir donner + d'infos sur les tables en question et les liens entre elles.
S'il y a plusieurs tables de produit, à quel(s) élément(s) d'un produit un mouvement est-il associé ?
Il y a des entrées et des sorties sur chacun des produits, donc afin de regrouper les entrées et sorties de chaque produit, j'ai créé une requête Union pour chaque produit.
Afin de suivre l'évolution des entrées et sorties, et bien sur des stocks, j'ai crée une super requêtes (grâce à ce site) me permettant de regrouper l'ensemble sur un seul état (en modifiant les requêtes pour qu'elles aient le même nombre de colonnes).
Mais les mois ou certains ne mouvementent pas (je m'arrête au mois pour l'instant) ne figure pas sur cet état, pas de valeur à 0 comme sous Excel, donc je cherche un moyen de faire apparaître ces mois sans mouvements dans cet état.
J'espère être assez clair dans cette explication.
Merci.
SELECT
produit.*, COUNT(DISTINCT mouvement.id) nb_mouvements
FROM (
SELECT id, nom, 'A' type FROM produitA
UNION
SELECT id, nom 'B' type FROM produitB
) prodiut
LEFT JOIN mouvement ON mouvement.id_produit = produit.id AND mouvement.produit_type = produit.type
GROUP BY produit.type, produit.id
donc ;
SELECT
produit.*, COUNT(DISTINCT mouvement.id) nb_mouvements
FROM (
SELECT id, nom=nom de la table, 'A'=nom du produit type FROM produitA
UNION
SELECT id, nom 'B' type FROM produitB
) prodiut
LEFT JOIN mouvement ON mouvement.id_produit = produit.id AND mouvement.produit_type = produit.type
GROUP BY produit.type, produit.id
Désolé, j'avoue mon ignorance la dessus.