我有A1,A2两张表,两表通过A1.ID,来关联,现在客户要求将A2表里的记录按照他的要求排序,而且A2表内已经存在了大量数据,如果单纯添加在A2表中添加一个字段来排序的话会比较痛苦,调整和重新编号都比较麻烦,
模拟一个表结构
A1表                                               A2表
ID    名称                                    ID    名称    职位ID
1     经理                                     1     XX       1
2     部长                                     2     YY       1
3     职员                                     3     KK       2
                                               4     ZZ       1
现在,要求显示给人家看的是XX,ZZ,YY,KK这样的显示形式,当然以A1表内容显示为主,但关联同一个A1。ID下的数据又可能做出调整,问这样该怎么做?

解决方案 »

  1.   

    只是取出来排序而已,犯不着改什么表结构吧select A1.ID, A2.名称 , A1.名称 from A1 inner join A2 on A1.ID = A2.ID Order by A2.名称
    ``````````````````````````````````````````````````````````````````````~~~~~~~~~~~~~~~~
      

  2.   

    。。还不清楚?
    A2。职位ID关联A1。ID,然后页面显示A2表的记录,并且按照一定要求排序,一般是按照相同职位排序,但也存在,相同职位可能存在排名前后问题,比如我给出的模拟A2表中的ZZ这个用户,他与XX,YY两个用户同为经理,但显示排名时他却要排在XX和YY中间,这个该怎么调整,我想过添加字段,但是对已有的大量数据呢?而且对以后的调整可能会相当麻烦。
      

  3.   

    weisunding(鼎鼎)按照你的写法是按照A1。ID来排序,那相同职务下,排序调整怎么解决?
      

  4.   

    楼主是要不要这样的效果?
    select A2.ID,A2.名称,A2.职位ID,A1.名称 from A1,A2 where A1.ID=A2.职位ID Order by A2.职位ID,A1.ID
      

  5.   

    楼上得出来的结果应该是XX,YY,ZZ,KK而不是我要的XX,ZZ,YY,KK