读书人

access 中奇怪的有关问题

发布时间: 2012-03-25 20:55:17 作者: rapoo

access 中奇怪的问题
select A1*2 as BB from Table1
上面查询语句执行正确(A1是字段名称)
但一用排序就出错了
select A1*2 as BB from Table1
Order By BB desc

出错提示 参数BB没有默认值



[解决办法]
select A1*2 as BB from Table1
Order By A1*2 desc
[解决办法]
Order By A1 desc
或者
Order By A1*2 desc

结果是等效的


[解决办法]

探讨
Order By A1 desc
或者
Order By A1*2 desc

结果是等效的

[解决办法]

[解决办法]
实际上2L已经告诉你了,对原始字段和计算后的字段排序结果是等效的,所以如果需要,可以对多个字段进行orderby
[解决办法]
例如 orderby field1,field2,fild3

[解决办法]
另外如果想提高效率可以加索引
[解决办法]
探讨
100*Table1.Field1 * (1- 1 / Table2.Field2 - 1/Table3.Field3)

像这样三个表的字段的计算结果,你说按那个原始字段排序?
access怎么这么差劲,在sql server中很简单的事。

[解决办法]
你可以用嵌套查询,看这里
select t1,t2,c from
(SELECT a*2 as t1,b+2 as t2,c
FROM Table1) as table2
order by table2.c,table2.t2

[解决办法]
刚才忘了写了where条件也可以写在嵌套查询外
select t1,t2,c from
(SELECT a*2 as t1,b+2 as t2,c
FROM Table1) as table2
where table2.c='c'
order by table2.c,table2.t2

读书人网 >.NET

热点推荐