一个SQL的问题(200分)

  • 主题发起人 主题发起人 titi
  • 开始时间 开始时间
T

titi

Unregistered / Unconfirmed
GUEST, unregistred user!
字段F1,F2:INTEGER;
计算字段F3:=F1*F2;
在对F3排序时
(1) SELECT 。。。 ORDER BY F3; 出错!
(2) SELECT 。。。 ORDER BY F1*F2; 混乱!
怎么回事?如何实现对计算字段F3的排序?
 
f3中有空字段,即有NULL值
 
select *,c1*c2 from zz order by c1*c2
 
你的计算字段应该有缺省值,这样就不会出现NULL的情况。
另外,若你的计算字段也存在数据库里,是否必须?其实,在具体应用中,它完全可以从
f1,f2得来。
 
有无空值与是否出错无关,最我是多一些null值,
请用这个语句试一下:
select F1, F2 ,(F1*F2) AS F3 from table1 ORDER BY F3
 
是不是 初值 有问题
 
mataijin和htw的都应该可以
 
真的可以,我试了,有null也没问题,只是null的值排在最前
是不是你的select有问题
 
我认为是他加了一个计算字段:F3
(1) SELECT 。。。 ORDER BY F3; 出错!
SQL 语句找不到F3,当然出错
(2) SELECT 。。。 ORDER BY F1*F2; 混乱!
F3计算有问题,当然混乱
 
多人接受答案了。
 
后退
顶部