oracle联合查询后的排序问题

Jocodeoe 2012-09-20 10:33:06
第一个表: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'

我以为会得到这个结果:

海浪
雷电
能见度
云量

结果却是这个:

海浪
云量
雷电
能见度

请问原因何在?如何才能得到我想要的结果?
...全文
321 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jocodeoe 2012-09-20
  • 打赏
  • 举报
回复
明白了,这是字母加数字的排序问题。正确的解决方法应该是在查询语句末尾添加:
order by to_number(substr(table14.WHENo,2))
Jocodeoe 2012-09-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

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

结果还是:

海浪
云量
雷电
能见度
Jocodeoe 2012-09-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

根据table14.WheNo 排序一下。
[/Quote]
结果还是不变。。
fw0124 2012-09-20
  • 打赏
  • 举报
回复
排序必须通过order by来保证。
select table88.WheName from table14, table88 where table88.WheNo=table14.WheNo and table14.ModelName='Equ0001' order by table14.WheNo
johnny_ 2012-09-20
  • 打赏
  • 举报
回复
根据table14.WheNo 排序一下。

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧