Office中国论坛/Access中国论坛

标题: ##请教如何在查询中增加字段? [打印本页]

作者: sf    时间: 2003-11-12 22:00
标题: ##请教如何在查询中增加字段?
([B]原 [/B])请教各位:例如我有一个表,有两个字段,形式如下:
  姓名  成绩
  
  小王  85
  小李  95
  小唐  75
我想在查询中生成

 序号  姓名 成绩
  
  1  小王  85
  2  小李  95
  3  小唐  75

的形式,请问如何用SQL语句增加序号字段,序号字段为递增方式,对应记录的条数。
-----------------------------------------------------------------------------------------------------
[B]以上说法有误,请各位见谅!修正如下:[/B]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我现在发现通过追加查询的方式还不能完全解决我的问题,而且我说的也有点问题!重新说一下
我的要求是学号固定按升序排列 在查询中增加序列字段,1、2、3、4。。。,且能保证我通过我设定的控制分数字段的窗体选择要的分数时,序号列能自动重新排序。例如:

表,有两个字段,形式如下:
学号  姓名  成绩
0302  小石  75
0307  小王  85
0309  小李  95
0311  小唐  75
我在选择分数窗体中选择=75分(窗体我可通过链接查询准则来实现),则查询为

 序号   学号 姓名 成绩
  
  1   0302 小石  75
  2   0311 小唐  75
我在选择分数窗体中选择>75分(窗体我可通过链接查询准则来实现),则查询为

 序号   学号  姓名 成绩
  
  1   0307  小王  85
  2   0309  小李  95

请各位指教!!!






[此贴子已经被作者于2003-11-14 9:54:10编辑过]


作者: xito_762000    时间: 2003-11-13 00:29
难,还是用报表做,用程序控制,打印在页面上
作者: yangzn    时间: 2003-11-13 05:35
用报表的话,可在主体节加一非绑定文本框,数据源设为=1 , 再设 运行总和为全部之上就可以了
作者: andymark    时间: 2003-11-13 06:14
通过临时表生成的
[attach]2441[/attach]
作者: sf    时间: 2003-11-13 18:09
多谢了,此方法可行!
但还不能完全符合我的要求!

[此贴子已经被作者于2003-11-14 9:53:16编辑过]


作者: ADAM    时间: 2003-11-13 19:30
看到過別從做過,通過子查詢實現...,
這是我照著試做的例子,
把表名與字段改成你的,再試試看...
SELECT AA.C, AA.B, (SELECT Count(AA.C) AS C之筆數1 FROM AA where aa.c<=aa_1.c) AS cc
FROM AA INNER JOIN AA AS AA_1 ON AA.C = AA_1.C;

作者: 没牙兔兔    时间: 2003-11-13 20:37
特别喜欢ADAM的SQL语句

大有嚼头~!!!
作者: 阿罗    时间: 2003-11-13 22:57
都没牙了,还嚼
作者: marco2    时间: 2003-11-14 01:06
TO:ADAM
你的这个SQL语句适合于那些有主键,或是有序列的查询,在这里不行,因为姓名/成绩这两列都是没有规律的!
作者: ADAM    时间: 2003-11-14 02:24
沒有主鍵也可以的
我做的AA表的C字段,就不是主鍵,A字段才是的.
只要選中一欄做依據欄就可以了...

作者: marco2    时间: 2003-11-14 15:55
没错呀,这个语句适合于那种有序列依据的字段,不管是一个还是两个!
但此题的序列却是没有任何依据,只不过是按照输入的先后顺序重新生成一个序列罢了!
作者: sf    时间: 2003-11-14 17:15
我现在发现通过追加查询的方式还不能完全解决我的问题,而且我说的也有点问题!重新说一下:
我的要求是学号固定按升序排列 在查询中增加序列字段,1、2、3、4。。。,且能保证我通过我设定的控制分数字段的窗体选择要的分数时,序号列能自动重新排序。例如:

表,有两个字段,形式如下:
  学号  姓名  成绩
  0302  小石  75
  0307  小王  85
  0309  小李  95
  0311  小唐  75
我在选择分数窗体中选择=75分(窗体我可通过链接查询准则来实现),则查询为

 序号   学号 姓名 成绩
  
  1   0302 小石  75
  2   0311 小唐  75
我在选择分数窗体中选择>75分(窗体我可通过链接查询准则来实现),则查询为

 序号   学号  姓名 成绩
  
  1   0307  小王  85
  2   0309  小李  95

要能实现动态增加序号!
请指教!!!用SQL语句实现最理想,我要试试ADAM版主的解法!看看能不能实现.



作者: 没牙兔兔    时间: 2003-11-14 17:21
ADAM可行,俺测试过啦
思路真新颖~!!

真是没有做不到,只有想不到
作者: sf    时间: 2003-11-14 19:21
以下是引用ADAM在2003-11-13 11:29:51的发言:
看到過別從做過,通過子查詢實現...,
這是我照著試做的例子,
把表名與字段改成你的,再試試看...
SELECT AA.C, AA.B, (SELECT Count(AA.C) AS C之筆數1 FROM AA where aa.c<=aa_1.c) AS cc
FROM AA INNER JOIN AA AS AA_1 ON AA.C = AA_1.C;

按ADAM 的方法,我测试时 ,当c 字段有重复数据的时候,我得到的序号就有了重号,请问如何解决?
作者: sf    时间: 2003-11-14 23:39
请各位指教!!!在线等待!!!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3