Sql搜索固定和非固定费用

时间:2017-08-29 19:03:43

标签: java mysql sql

code   |    date      | value    | fixed |  fixedEndDate    |   description
---------------------------------------------------------------------------------------------
  1    |  2017-28-07  |  50.00   |   1   |      null        |   expense fixed
 --------------------------------------------------------------------------------------------
  2    |  2017-10-08  |  100.00  |   0   |      null        |   expense 2
 --------------------------------------------------------------------------------------------
  3    |  2017-28-08  |  50.00   |   1   |      null        |   fixed expenditure already included

我正在开发一个个人支出系统,客户希望标记为固定的费用,总是在下个月的调查中显示。他不希望固定费用插入一个明确的术语。例如,输入此费用12个月。

列固定= 定义费用是固定类型 列fixedEndDate = 定义此固定类型支出是否重复。 Null意味着它将在几个月内重复

费用过帐流程运作正常,我的问题是如何每月创建费用研究。

在屏幕上,客户选择月份,系统会搜索该月份的所有费用。我想开发一种方法来查找当月的所有费用以及知情月份中不存在的所有固定费用。

但问题是,例如:7月发布的代码1的固定费用已经存在于8月份,因此搜索应该只返回代码2和3的费用,但我的查询返回所有3条记录

选择我使用

select *
    from tdespesa
 where datadespesa between '2017-01-08' and '2017-31-08'

 union

 select *
    from tdespesa
 where fixed = 1
    and fixedEndDate is null
   and not exists
         (select *
                  from tdespesa
                 where datadespesa between '2017-01-08' and '2017-31-08');

0 个答案:

没有答案