简单SQL语句问题(30分)

  • 主题发起人 主题发起人 bitzxs
  • 开始时间 开始时间
B

bitzxs

Unregistered / Unconfirmed
GUEST, unregistred user!
表中记录无序,如何用SQL语句排序如下:
ID NAME PARENT
-1 公司1
1 1科 -1
2 2科 -1
3 3科 -1
4 1科A 1
5 1科B 1
6 2科A 2
7 3科A 3
8 1科AA 4
9 1科AB 4
10 1科AAA 8
11 1科AAB 8
12 1科AAAA 10
13 公司2
14 1科 13
...
 
SELECT ID, NAME, PARENT FROM THE_TABLE
ORDER BY ID
 
ID 是记录中的字段吗?还是排序后生成?
 
to mitsukow:
是表中的一个字段
 
前面的都不对!
ID为关键字,具有唯一性!
 
order by id
还是
order by parent,id
 
好象也不对!
 
能否给出你用的SQL和错误结果?
 
select * from thistable order by ID
快加分
 
应该没错的。
 
ID是怎么来的.如果ID本身就是你要的顺序,你还问什么,排就是了.
如果ID是随机的,只能按parent排序
 
能举个无序的例子吗?
 
ID号随机。比如:
ID NAME PARENT
20 公司1
1 1科 20
2 2科 20
3 3科 20
4 1科A 1
5 1科B 1
6 2科A 2
7 3科A 3
9 1科AB 4
10 1科AAA 8
12 1科AAAA 10
23 公司2
14 1科 23
11 1科AAB 8
8 1科AA 4
...
 
order by parent 啦
 
Sorry,开始的意思没说明白。弄的大家讨论了老半天。
现重新说明如下:表中记录如下:
ID NAME PARENT
20 公司1
1 1科 20
2 2科 20
3 3科 20
4 1科A 1
5 1科B 1
6 2科A 2
7 3科A 3
9 1科AB 4
10 1科AAA 8
12 1科AAAA 10
23 公司2
14 1科 23
11 1科AAB 8
8 1科AA 4
...

上面随机无序排列后的结果要求如下:
ID NAME PARENT
20 公司1
1 1科 20
4 1科A 1
8 1科AA 4
10 1科AAA 8
12 1科AAAA 10
11 1科AAB 8
9 1科AB 4
5 1科B 1
2 2科 20
6 2科A 2
3 3科 20
7 3科A 3
23 公司2
14 1科 23
...
 
同cAkk的"创建论坛"的问题类似,把ID改成字符型,采用多级编码的形式,
如:
1,2,101,102,10101,10102,10201,10202,10203等.
否则很难排序,涉及到递归.
 
但库表结构已经定了,用递归如何实现?
 
SQL语言不能实现递归(老师讲的)
 
select id,name,parent
form tablename
order by id
 
bluerat还写这样的东西
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
835
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
765
SUNSTONE的Delphi笔记
S
后退
顶部