我在设计程序的时候遇到的问题:假设有个表 table(a,b,c,d)(1)我想做一个动作: 将table.a里的数值进行排序,并把排序结果放在table.b里,就是为每个记录按a排个名次,有那位兄弟做过类似的 ,给个代码来研究研究.(2)按4个参考数值范围,把记录评等级, a分别在(90-100) (80-90) (70-80) (60-70) ,然后把记录 评到的级别放在c字段上.各位给个意见拉,先谢谢了
调试欢乐多
2、union吧,select *, '优秀' aaa from tablea where a >= 90 and a <= 100
union select *, '良好' aaa from tablea where a >= 80 and a <= 90
...
(F1 char(10),
F2 char(10)) --测试表 insert into Test
select 'a' F1,'1' F2
union
select 'b' F1,'2' F2
union
select 'c' F1,'3' F2
union
select 'd' F1,'3' F2
union
select 'e' F1,'4' F2
union
select 'f' F1,'4' F2
union
select 'g' F1,'4' F2
union
select 'h' F1,'7' F2
union
select 'i' F1,'9' F2
------------------------- SELECT (
SELECT count(*)+1 as dd
FROM [Test ] as a where a.[F2]<b.[F2] ) AS ord,b.[F1], b.[F2]
FROM [Test ] as b
order by b.[F2]; -------------------------
drop table test
都是在后台运行。to jinjazz(人雅的标记--落寞刺客)
a,b,c,d,e,f,g...是什么来的,测试表是不是有多少个记录,就要这样写多少条啊 ,我看不大明白算法,但如果是这样的话那我的记录可是有好多条的啊 ,请再帮忙
update table t set t.b = (selec Count(*) + 1 from table where a > t.a)
2
update table set c = '优秀' where a between 90 and 100
update table set c = '良好' where a between 80 and 90
...
meiqingsong(阿飛)你的那段代码我试过,但给出 "操作必须使用一个可更新的查询" 的错误,是什么原因呢,是不是数据库问题?我用access的
我的在sql server 中可用
//rav ,ravck为两个表,
为什么老是提示:操作符丢失
update table t set t.b = (selec Count(*) + 1 from table where a <t.a)
order by b
2
update table set c = '优秀' where a between 90 and 100
update table set c = '良好' where a between 80 and 90
...