计算列里怎么写?(计算域的写法正确)?
在计算域里我写了表达式sum(if(one='a',1,0))/count(one)
运行正确。
我想在计算列实现相同的功能,在计算列的表达式里该怎么写?
为什么写sum(if(one='a',1,0))/count(one)提示语法不对?
问题点数:30、回复次数:15Top
1 楼bency(小草)回复于 2002-05-15 11:30:12 得分 6
string(sum(if(one='a',1,0))/count(one))Top
2 楼ldy(罗大佑)回复于 2002-05-15 11:46:00 得分 0
学习Top
3 楼mahujava(马虎Java)回复于 2002-05-15 11:46:43 得分 0
我试了,
提示:incorrect syntax near the keyword "if".
是怎么回事?Top
4 楼mahujava(马虎Java)回复于 2002-05-16 11:06:12 得分 0
请各位再赐教。Top
5 楼bency(小草)回复于 2002-05-16 11:13:04 得分 2
sum(long(if(one='a',1,0)))/count(one)
Top
6 楼mahujava(马虎Java)回复于 2002-05-16 17:02:52 得分 0
还是提示:
sum(long(if(one='a',1,0)))/count(one)。
计算列里没有if这个函数。Top
7 楼xiaha3(夏)回复于 2002-05-16 19:45:58 得分 6
行内数据涉及多行是不行的
我的办法是
for i=1 to count(one)
sum(if(one='a',1,0))/count(one)
setitem(sum(if(one='a',1,0))/count(one),i,列名或列号)
next
大致是这样的
就是把他变成一个编程问题Top
8 楼jamy_li(梧桐雨)回复于 2002-05-16 19:56:23 得分 4
不要计算列,在DW中给一个LABEL,然后在一个按钮中写代码,再用TRIGGEVENT触发后用SETITEM,大致和 xiaha3(夏) 差不多!Top
9 楼xlch_csdn(当啊当)回复于 2002-05-17 10:47:35 得分 4
就这个问题我也在几个论坛里提过,但是没人回答!!!55555555。。。。Top
10 楼xlch_csdn(当啊当)回复于 2002-05-17 11:03:51 得分 2
好象如果用编程的方法来解决的话,数据就必须被检索到数据窗口中,用计算列的话,就不用了。我这样说是不是对的,请指正Top
11 楼njskynet(njskynet)回复于 2002-05-17 11:30:52 得分 2
是否写在SQL中的就是计算列?如果这样那应当可以,我用的是ORACLE,语法是sum(decode(one,'1',1,0))/count(one)
如果是computed field那更可以了Top
12 楼mahujava(马虎Java)回复于 2002-05-17 11:42:27 得分 0
有请各位高手来发表意见呀!!!
请高手们指正!Top
13 楼cqulzh(Eexcelence)回复于 2002-05-17 11:49:47 得分 0
学习……Top
14 楼xlch_csdn(当啊当)回复于 2002-05-17 12:21:23 得分 2
to njskynet:
我在SQL ANYWHERE里试过好象不行,是不是数据库的类型不同SQL语句也不同
Top
15 楼qianfl(毛毛熊)回复于 2002-05-23 14:36:30 得分 2
我用楼主的方法在我的程序里试过了,没问题,不知道楼主怎么会有问题Top




