以下是引用schtg在2025-10-11 06:33:40的发言:
这个应该是分类汇总吧,试一试,结果是否是你所需?
close all
select *,val(fz) as fs,(icase(alltrim(kmdm)="06",[化学],alltrim(kmdm)="07","生物学",alltrim(kmdm)="08","历史",alltrim(kmdm)="09","地理","")) as xk from kczcb into cursor ttt
select distinct xk from ttt into array laclasses
lcsql = "select zxdm"
for each lcclass in laclasses
lcsql = lcsql + ", " + "sum(iif(alltrim(xk) = [" + lcclass + "], fs, 0) ) as " + lcclass
endfor
m.lcsql = m.lcsql + " order by zxdm group by zxdm from ttt into table result"
&lcsql
select result
browse
这个应该是分类汇总吧,试一试,结果是否是你所需?
close all
select *,val(fz) as fs,(icase(alltrim(kmdm)="06",[化学],alltrim(kmdm)="07","生物学",alltrim(kmdm)="08","历史",alltrim(kmdm)="09","地理","")) as xk from kczcb into cursor ttt
select distinct xk from ttt into array laclasses
lcsql = "select zxdm"
for each lcclass in laclasses
lcsql = lcsql + ", " + "sum(iif(alltrim(xk) = [" + lcclass + "], fs, 0) ) as " + lcclass
endfor
m.lcsql = m.lcsql + " order by zxdm group by zxdm from ttt into table result"
&lcsql
select result
browse
查询结果不对,我发的上边的图片是正确的结果







