【问题标题】:SQL Server date parameterSQL Server 日期参数
【发布时间】:2018-05-16 21:32:18
【问题描述】:

我正在尝试构建一个报告来获取几个代理的前 3 个月的生产情况,问题是每个代理都有不同的开放日期例如:

fAgent   fOpenDate   fMonth1   fMonth2   fMonth3
  A      2017-05-01    20        100       50
  B      2017-02-20    15        25        70
  C      2017-11-15    20        15        55
  • 对于代理 A,前三个月是 6 月 17 日、7 月 17 日、8 月 17 日
  • 对于代理 B,前三个月为 3 月 17 日、4 月 17 日、5 月 17 日
  • 对于代理 C,前三个月将是 12 月 17 日、1 月 18 日、2 月 18 日

虽然我可能使用 Declare 到某个 @Date 并以这种方式分隔查询,但我无法构造它。

请帮忙?

【问题讨论】:

  • 你想要什么结果?数据不是显示你想要的吗?什么是“日期”?
  • 我想只展示开放日期前 3 个月的作品,但我使用的脚本已经声明,所以我想要一种方法来确定每个代理的开放日期并获得生产即将到来的那个月 @DateBeg date = '2017-01-01' ,@DateEnd date = '2018-04-30'
  • 你可以发布你已经拥有的 SQL 吗?

标签: sql sql-server


【解决方案1】:

这是你想要的吗?

select t.*,
       dateadd(month, 1, fOpenDate) as Month1,
       dateadd(month, 2, fOpenDate) as Month2,
       dateadd(month, 3, fOpenDate) as Month3
. . .

【讨论】:

  • 我试图根据代理的开放日期来获得实际的生产,所以我限制我的参数以获得这三个代理的前 3 个月的生产
猜你喜欢
  • 1970-01-01
  • 2019-03-07
  • 2017-09-01
  • 2010-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-12
  • 1970-01-01
相关资源
最近更新 更多