以下是引用shonken在2017-1-16 14:36:54的发言:
表明细(第15、16)的两人,都是D03这个单位的,统计时应该按单位统计,当一人就行
意思是按“流水号+单位号”唯一统计
图片附件: 游客没有浏览图片的权限,请
登录 或
注册
CREATE CURSOR 表统计 (单位号 C(3), 类型一统计 I, 类型二统计 I)
INDEX on 单位号 TAG 单位号
CREATE CURSOR 表头 (流水号 C(3), 类型一 L, 类型二 L)
INSERT INTO 表头 VALUES ("001", .T., .F.)
INSERT INTO 表头 VALUES ("002", .F., .T.)
INSERT INTO 表头 VALUES ("003", .T., .T.)
INSERT INTO 表头 VALUES ("004", .F., .T.)
INDEX on 流水号 TAG 流水号
CREATE CURSOR 表明细 (流水号 C(3), 单位号 C(3), 姓名 C(10))
INSERT INTO 表明细 VALUES ("001", "D01", "甲一")
INSERT INTO 表明细 VALUES ("002", "D01", "甲一")
INSERT INTO 表明细 VALUES ("002", "D02", "乙一")
INSERT INTO 表明细 VALUES ("003", "D03", "丙一")
INSERT INTO 表明细 VALUES ("003", "D03", "丙二")
INSERT INTO 表明细 VALUES ("003", "D02", "乙二")
INSERT INTO 表明细 VALUES ("004", "D01", "甲二")
INSERT INTO 表明细 VALUES ("004", "D03", "丙三")
INDEX on 流水号+单位号 TAG 流水单位号 UNIQUE
SET RELATION TO 流水号 INTO "表头", 单位号 INTO "表统计"
SCAN
IF !FOUND("表统计")
INSERT INTO 表统计 VALUES (表明细.单位号, 0, 0)
ENDIF
REPLACE 表统计.类型一统计 WITH 表统计.类型一统计 + IIF(表头.类型一, 1, 0),;
表统计.类型二统计 WITH 表统计.类型二统计 + IIF(表头.类型二, 1, 0)
ENDSCAN
SET RELATION TO
SELECT 表统计
BROWSE