3 votes

Requête Mysql pour le rapport de vieillissement

Je veux créer des rapports de vieillissement pour les jours actuels, 30, 60, 90, dans un format matriciel en utilisant une requête mysql.

Par exemple,

Nom du client Courant 1-30 31-60 >90    Total

AAA 3000 1500                4500

BBB 2000 200   2200

TOTAL                            3000 3500 200 6700

je veux obtenir le rapport comme ceci. quand l'utilisateur entre la date, il doit vérifier avec duedate. quand la date entrée est > due_date, obtenir les jours de vieillissement.

si le vieillissement dans les jours est aujourd'hui, alors on obtient netAnmount et on l'affiche dans la colonne courante,

si la différence est de 1-30 jours, alors la colonne suivante...etc...

comment obtenir une requête pour cela ?

  • Gnaniyar Zubair

8voto

John Douthat Points 28189

En supposant que votre tableau ressemble à ceci

CREATE TABLE invoices (
    -- ...some stuff ...
    client_id ...,
    due_date date ,
    amount_due ...,
    -- ... some more stuff ...
)

Essayez ça :

SELECT client_id,
    DATEDIFF(CURDATE(), due_date) AS days_past_due,
    SUM(IF(days_past_due = 0, amount_due, 0)),
    SUM(IF(days_past_due BETWEEN 1 AND 30, amount_due, 0)),
    SUM(IF(days_past_due BETWEEN 31 AND 60, amount_due, 0)),
    SUM(IF(days_past_due BETWEEN 61 AND 90, amount_due, 0)),
    SUM(IF(days_past_due > 90, amount_due, 0))
FROM invoices
GROUP BY client_id

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X