Mysql Query for Aging Report - PullRequest
3 голосов
/ 07 мая 2009

Я хочу создавать текущие отчеты о старении за 30, 60, 90 дней в матричном формате, используя запрос mysql

Например,

ClientName Current 1-30 31-60> 90 Всего

AAA 3000 1500 4500

BBB 2000 200 2200

ИТОГО 3000 3500 200 6700

Я хочу получить такой отчет. когда пользователь вводит дату, он должен проверить с помощью duedate. когда введенная дата> due_date, получите дни старения.

если сегодня дни старения, то получите netAnmount и отобразите в текущем столбце,

если разница составляет 1-30 дней, то следующий столбец ... и т. д.

как получить запрос на это?

  • Гнанияр Зубаир

1 Ответ

4 голосов
/ 07 мая 2009

Предполагая, что ваш стол выглядит так

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

Попробуйте это:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...