读书人

重发查询表有关问题

发布时间: 2012-02-05 12:07:15 作者: rapoo

重发查询表问题
表1
发票日期 回款日期 金额1 金额2 业务员
2007-02-01 2007-03-01 1000 100 张三

要生成如下格式的表

发票日期 回款日期 金额1 金额2 业务员 绩效
2007-02-01 2007-03-01 1000 100 张三 60

绩效的考核规则如下:
回款日期 <=4个月,绩效=金额2×60%
回款日期> 4个月, 绩效=0
回款日期> 6个月, 绩效=-(金额1×1%)

在线等高手


[解决办法]
修改一下:
select 发票日期,回款日期,金额1,金额2,业务员,case when datediff(month,发票日期,回款日期) <= 4 then 金额2*60% when datediff(month,发票日期,回款日期)> 4 and datediff(month,发票日期,回款日期) <=6 then 0 when datediff(month,发票日期,回款日期)> 6 then 金额1*(-0.01) end as 绩效 from 表1
[解决办法]
%是不能用的:
select 发票日期,回款日期,金额1,金额2,业务员,case when datediff(month,发票日期,回款日期) <= 4 then 金额2*0.6 when datediff(month,发票日期,回款日期)> 4 and datediff(month,发票日期,回款日期) <=6 then 0 when datediff(month,发票日期,回款日期)> 6 then 金额1*(-0.01) end as 绩效 from 表1

读书人网 >SQL Server

热点推荐