日期:2014-05-17  浏览次数:20419 次

求教这个语句要怎么写。。。
表结构
代理商名称   办事处   修正后的代理商名称   更改时间
a              a1       aa               2012-03-05
a              a1       aaa              2013-01-01
a              a1       b                2013-03-04
a              a1       bb               2013-03-15
a              a1       bbb              2012-05-05
a              a1       ccc              2013-04-01

我想要的结果:
代理商名称      修正后的代理商名称   更改时间       所扣分数
a                     aa               2012-03-05       5
a                     aaa              2013-01-01       5
a                     b                2013-03-04       5
a                     bb               2013-03-15       5
a                     bbb              2012-05-05       5
a                     ccc              2013-04-01       5

所扣分数指的是当代理商有过一次修正的记录后,将会扣除1分,每个代理商封顶5分,或者将所扣分数都统一成最终所扣的分数,我想做成这样的效果不知道行不行,求大神解迷。。

------解决方案--------------------
怎么判断是修正过的?
------解决方案--------------------
你呀你,问题都说不清楚,还有一张表呢?
------解决方案--------------------
select 代理商名称,修正后的代理商名称,更改时间,所扣分数=
(select case when count(distinct b.修正后的代理商名称)<5 then count(distinct b.修正后的代理商名称) else 5 end from tb b where a.代理商名称=b.代理商名称)
from tb