| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2962 人关注过本帖
标题:多区间求和
只看楼主 加入收藏
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:5 
>> 比如1到6 7到12 13到18呢

也只要一句 Select-SQL 语句,1到6 7到12 13到18 就是 1 到 18:
Select Sum(数量) As 求和 From 求和 Where Between(Val(序号), 1, 18)

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-04-29 22:16
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:0 
哪怕有100*100=10000个区间,VFP的SQL命令方法也可以实现楼主的要求。
大不了拆成几句命令写。
要不要试试看?

何况 Select-SQL 也是 VFP 的内部命令,不同的场合使用不同的命令,不要厚此薄彼。

[此贴子已经被作者于2016-4-29 22:23编辑过]


民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-04-29 22:21
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:0 
以下是引用sdta在2016-4-29 21:42:44的发言:

select "1-2" 区间,sum(数量) 和 from 求和 where between(val(序号),1,2) ;
union select "3-4",sum(数量) from 求和 where between(val(序号),3,4) ;
union select "5-6",sum(数量) from 求和 where between(val(序号),5,6)

非要SQL语句的话,这个方法不可取,还是用VFP命令写吧


这么简单的问题,为什么要用 Union 联合?

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-04-29 22:28
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9826
专家分:27129
注 册:2012-2-5
收藏
得分:0 
回复 12楼 aaaaaa
那你就写一个10000个区间的代码吧

坚守VFP最后的阵地
2016-04-29 22:51
rxdlwr
Rank: 1
等 级:新手上路
帖 子:86
专家分:3
注 册:2016-3-17
收藏
得分:0 
谢大神们,听sdta版主建议,放弃了Select语句
改用sdta版主的VFP程序方法,可行,追问可否将区间里的"1-6"命名为中名,这样就更清楚明白了?
2016-04-29 23:05
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9826
专家分:27129
注 册:2012-2-5
收藏
得分:0 
区间表与结果表各增加一个字段即能解决问题

坚守VFP最后的阵地
2016-04-29 23:13
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:0 
我们在校学生是祖国的未来,但是,目前我们的技术还不能和这里的大佬比,应该要谦虚。
所以,我们应该低调做人,高调做事。不是吗?

嘻嘻,呵呵,哈哈。

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-04-29 23:15
rxdlwr
Rank: 1
等 级:新手上路
帖 子:86
专家分:3
注 册:2016-3-17
收藏
得分:0 
这一句不会写了,insert into 结果 values (transform(tt.x)+"-"+transform(tt.y),hj)
 insert into 结果 values (transform(tt.x)+"-"+transform(tt.y),分类,hj)
close databases
* 求和结果表
create cursor 结果 (区间 c(25),分类 c(12),和 n(6))

* 区间保存在一个表中
create cursor tt (x n(11),y n(11),分类 c(12))
insert into tt values (11030100105,11030700126,"网络产品")
insert into tt values (11041100601,11041300726,"键MUOSE")
insert into tt values (11041300932,11041505282,"耳机麦可音箱")
select 0
select tt
 scan
     select 库存
    sum 金额余数 to hj for between(val(编码),tt.x,tt.y)
     insert into 结果 values (transform(tt.x)+"-"+transform(tt.y),分类,hj)
 endscan
select 结果
browse
结果分类字段是空白
2016-04-29 23:36
rxdlwr
Rank: 1
等 级:新手上路
帖 子:86
专家分:3
注 册:2016-3-17
收藏
得分:0 
网络产品,键MUOSE,耳机麦可音箱,没有出现,哪句错了
2016-04-29 23:37
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9826
专家分:27129
注 册:2012-2-5
收藏
得分:0 
程序代码:
close databases
* 求和结果表
create cursor 结果 (区间 c(25),分类 c(12),和 n(6))

* 区间保存在一个表中
create cursor tt (x n(11),y n(11),分类 c(12))
insert into tt values (11030100105,11030700126,"网络产品")
insert into tt values (11041100601,11041300726,"键MUOSE")
insert into tt values (11041300932,11041505282,"耳机麦可音箱")
select 0
use 库存
select tt
scan
    select 库存
    sum 金额余数 to hj for between(val(编码),tt.x,tt.y)
    insert into 结果 values (transform(tt.x)+"-"+transform(tt.y),tt.分类,hj)
endscan
select 结果
browse

坚守VFP最后的阵地
2016-04-29 23:49
快速回复:多区间求和
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013801 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved