求教这个语句要怎么写。。。
表结构
代理商名称 办事处 修正后的代理商名称 更改时间
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