首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

重发查询表有关问题

2012-02-05 
重发查询表问题表1发票日期回款日期金额1金额2业务员2007-02-012007-03-011000100张三要生成如下格式的表

重发查询表问题
表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

热点排行