表:字段1 数量 结存
aaa 10 10
aaa 20 30
bbb 10 10
如何能按字段1分组结出每一行的结存数,代码怎么写?
表:字段1 数量 结存
aaa 10 10
aaa 20 30
bbb 10 10
如何能按字段1分组结出每一行的结存数,代码怎么写?
给一个思路:
另外建立一个表(简称汇总表),将原表(简称明细表)上的第一条记录的字段1读到一个变量中,然后用这个变量去统计明细表中的数量,得出的结存数和字段1一起存放到汇总表。再到明细表读下一条记录,如果字段1在汇总表中找得到,则表示此记录的数据已经统计,直接转下一条记录;如果在汇总表中找不到,则继续进行统计,直到明细表中的记录全部统计完毕。
[此贴子已经被作者于2006-10-23 20:30:39编辑过]
*!* [求助]菜鸟提问:一个循还问题表:字段1 数量 结存
*!* aaa 10 10
*!* aaa 20 30
*!* bbb 10 10
*!* 如何能按字段1分组结出每一行的结存数,代码怎么写?
SET TALK OFF
SET SAFETY OFF
CLOSE ALL
IF FILE("结存.DBF")
USE 结存.DBF
ELSE
CREATE TABLE 结存 (字段1 C(3),数量 N(4),结存 N(4))
INSERT INTO 结存 (字段1,数量,结存) VALUES ("aaa",10,0)
INSERT INTO 结存 (字段1,数量,结存) VALUES ("aaa",20,0)
INSERT INTO 结存 (字段1,数量,结存) VALUES ("bbb",10,0)
ENDIF
INDEX ON 字段1 TO ZD.IDX
GO TOP
C=SPACE(LEN(字段1))
J=0
DO WHILE !EOF()
IF 字段1=C
J=J+数量
ELSE
C=字段1
J=数量
ENDIF
REPLACE 结存 WITH J
SKIP
ENDDO
LIST
正解,谢谢了!试过用二张表的,但还是这样的简单,还得好好研究一下。