注册 登录
编程论坛 PowerBuilder

新手问题求助..

salo121 发布于 2006-05-09 17:19, 738 次点击

string r1,r2
date day,ld1,ld2
long xs
r1=em_1.text
r2=em_2.text
ld1=date('"+r1+"')
ld2=date('"+r2+"')

delete from day_xs;
commit;

declare p cursor for
select buyer_uid,sum(d_sales)
from st_buyer_sale
where RUN_DATE between :ld1 and :ld2;

open p;


fetch p into :day,:xs;
insert into day_xs values(:day,:xs);

close p;
commit;
dw_1.dataobject="q_new"
dw_1.settransobject(sqlca)
dw_1.retrieve()





保存时报错 提示:非单组组函数

求解....

5 回复
#2
ヤ順祺冄繎ヤ2006-05-09 17:27
以下是引用salo121在2006-5-9 17:19:00的发言:

string r1,r2
date day,ld1,ld2
long xs
r1=em_1.text
r2=em_2.text
ld1=date('"+r1+"')
ld2=date('"+r2+"')

delete from day_xs;
commit;

declare p cursor for
select buyer_uid,sum(d_sales)
from st_buyer_sale
where RUN_DATE between :ld1 and :ld2;

open p;


fetch p into :day,:xs;
insert into day_xs values(:day,:xs);

close p;
commit;
dw_1.dataobject="q_new"
dw_1.settransobject(sqlca)
dw_1.retrieve()





保存时报错 提示:非单组组函数

求解....

SQL有错吧!!!你這個sun是統計誰的總數呢?

#3
salo1212006-05-09 17:50

报错提示在where RUN_DATE between :ld1 and :ld2;
这一行

sum(d_sales)是计算st_buyer_sale 中d_sales这个字段在一段日期内的和

#4
ヤ順祺冄繎ヤ2006-05-09 17:58

我估计你buyer_uid字段是多个值,而你sum(d_sales)的值只有一个,
所以你的SQL应该出错了.

#5
salo1212006-05-10 13:34

我加了group by 保存没问题了 但是运行的时候提示

database transaction information not available

call settrans or settransobject function....





string r1,r2
date day,ld1,ld2
long xs
r1=em_1.text
r2=em_2.text
ld1=date('"+r1+"')
ld2=date('"+r2+"')

delete from day_xs;
commit;

declare p cursor for
select buyer_uid,sum(d_sales)
from st_buyer_sale
where RUN_DATE between :ld1 and :ld2 group by buyer_uid;

open p;


fetch p into :day,:xs;
insert into day_xs values(:day,:xs);

close p;
commit;
dw_1.dataobject="q_new"
dw_1.settransobject(sqlca)
dw_1.retrieve() 郁闷...

#6
︷順⑦?zì繎2006-05-10 14:27
你没改正确,分组后用having
你只加了一个分组是没效果的.
1