J'ai une base de données MySQL avec une table appelée stock_log avec ces données:
sku | date | la quantité de stock |
---|---|---|
111 | 2021-11-18 | 0 |
123 | 2021-11-18 | 0 |
146 | 2021-11-18 | 0 |
111 | 2021-11-19 | 5 |
123 | 2021-11-19 | 4 |
146 | 2021-11-19 | 0 |
111 | 2021-11-20 | 3 |
123 | 2021-11-20 | 4 |
146 | 2021-11-20 | 0 |
111 | 2021-11-21 | 3 |
123 | 2021-11-21 | 0 |
146 | 2021-11-21 | 0 |
111 | 2021-11-22 | 2 |
123 | 2021-11-22 | 0 |
146 | 2021-11-22 | 0 |
111 | 2021-11-23 | 0 |
123 | 2021-11-23 | 0 |
146 | 2021-11-23 | 2 |
Donc, j'ai besoin de faire une requête qui compte le nombre de jours, un article est sans stock pour aujourd'hui (2021-11-23), seulement si, aujourd'hui, est sans stock, regroupées par numéro de référence. Il doit aussi compter les jours sans stock à partir de la dernière date à laquelle il n'a pas de stock (parce qu'un article pourrait avoir stock 3 jours consécutifs, puis 0, puis de nouveau il a en stock et puis de nouveau à 0).
De sorte que la requête indique:
sku | jours sans stock |
---|---|
111 | 0 |
123 | 2 |
NOTES:
- SKU 111: 0 jours sans stock à partir d'aujourd'hui. 123
- SKU 123: 2 jours sans stock de 2021-11-21 (la dernière date sans stock) à aujourd'hui.
- SKU 146: Ne pas afficher dans ce résultat, car aujourd'hui, il dispose d'un stock de nouveau à partir d'aujourd'hui.
J'espère pour expliquer bien.
Merci pour votre aide! :)