----------SQL------update------
address       
 -----------------------       
 01                  四川省       
 02                  北京市       
 03                  天津市       
 ……       
 -----------------------       
 subject       
 -----------------------       
 01                              施工员       
 02                              预算员       
 03                              资料员       
 ……       
 -----------------------       
 enter       
 -----------------------       
 name                           subject      address                  examnumber       
 王1                              施工员            天津市                  030100001       
 王2                              预算员            北京市                  020200001       
 王3                              预算员            北京市                  020200002       
 王4                              施工员            四川省                  020100001       
 王5                              施工员            四川省                  020100002       
 王6                              资料员            天津市                  030300001       
 王7                              资料员            天津市                  030300002       
 王8                              预算员            天津市                  030200001       
 王9                              预算员            天津市                  030200002       
 王10                           预算员            四川省                  020200001 
 ------------------------       
 现在表里面的examnumber      全是空的。       
 求一条更新语句来实现这个号码的更新       
 上面是比较简单的。       
 这里是            地址+科目+5位排序号       
 这里加入地址以后应该在上面的语句里面怎么修改才可以实现啊。 
 update   e 
 set 
             examnumber   =a.addressid+s.subjectid+right(100000+(select   count(*)   from   enter   where   address=e.address   and   name <=e.name),5) 
 from    
             enter   e,gw_subject   s,gw_address   a 
 where 
             e.subject=   s.subject   and   e.address=a.addressname    
 这么写出来的数据是有错的。 
 他是直接按照subject排序的。不能实现先排地区再排科目 
 想找人帮我修