Как отфильтровать данные на основе столбца особенно для текущего финансового года в sql - PullRequest
1 голос
/ 09 апреля 2020

Фискальная продолжительность: с июля по июнь. У меня в таблице есть столбец [Срок оплаты]. Теперь мне нужно отфильтровать данные оставшихся столбцов на основе столбца [Срок выполнения], который является данными текущего финансового года. Здесь требование состоит в том, что я не должен делать жесткий код для получения даты, потому что, если мы ввели данные в следующем финансовом году, мы должны автоматически получать данные следующего финансового года. Sql Запрос для этой логики c.

Ответы [ 2 ]

1 голос
/ 09 апреля 2020
  1. Извлечение года и месяца из таблицы путем создания представления (ViewStep1), в котором используются эти атрибуты:

    TO_NUMBER (TO_CHAR ((DUE_DATE), 'YYYY')) AS YEAR

    TO_NUMBER (TO_CHAR ((DUE_DATE), 'MM')) КАК МЕСЯЦ

  2. Затем вы можете использовать эти столбцы для фильтрации для каждого финансового года. Или, что еще лучше, создайте другое представление с столбцом FISICAL_YEAR, который получает данные из подвыбора предыдущего представления. Добавьте простой случай в этот подпункт и все готово:

    выберите YEAR в качестве YEAR, MONTH в качестве MONTH, DUE_DATE, (case, когда MONTH> = 7, затем YEAR else (YEAR - 1) END) в качестве FISICAL_YEAR из порядка ViewStep1 по ГОДУ des c, MONTH des c, DUE_DATE desc;

Если у вас возникли проблемы при создании представления, я бы посоветовал ознакомиться с документацией вашей системы баз данных.

0 голосов
/ 09 апреля 2020

Чтобы получить финансовый год, просто вычтите шесть месяцев. Таким образом, текущий финансовый год будет выглядеть примерно так:

where year(dateadd(month, -6, duedate)) = year(dateadd(month, -6, duedate))

Вы сможете адаптировать эту идею к своему коду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...