第一个表:table14  
        ModelName     WheNo 
1 GuideMissile-1 W1
2 Torpedo-1 W7
3 Equ0001    W1
4 Equ0001         W2
5 Torpedo-1 W15
6 Equ0001         W5
7 Equ0001         W8
8 Torpedo-1 W2
9 Equ0001         W20
10 Torpedo-2 W7
11 Torpedo-2 W15 第二个表:table88
       WheNo    WheName
1 W1 风
2 W2 海浪
3 W3 雨
4 W4 地磁
5 W5 雷电
6 W6 电磁
7 W7 海流
8 W8 能见度
9 W9 气压
10 W10 气流
11 W11 潮汐
12 W12 海冰
13 W13 温度
14 W14 盐度
15 W15 水深
16 W16 密度
17 W17 海杂波
18 W20 云量
19 W19 环流

查询语句:select table88.WheName from table14, table88 where table88.WheNo=table14.WheNo and table14.ModelName='Equ0001'我以为会得到这个结果:

海浪
雷电
能见度
云量结果却是这个:

海浪
云量
雷电
能见度请问原因何在?如何才能得到我想要的结果?

解决方案 »

  1.   

    根据table14.WheNo 排序一下。
      

  2.   

    排序必须通过order by来保证。
    select table88.WheName from table14, table88 where table88.WheNo=table14.WheNo and table14.ModelName='Equ0001' order by table14.WheNo
      

  3.   

    明白了,这是字母加数字的排序问题。正确的解决方法应该是在查询语句末尾添加:
    order by to_number(substr(table14.WHENo,2))