当前位置: 代码迷 >> VFP >> 这样的统计代码怎么写
  详细解决方案

这样的统计代码怎么写

热度:7339   发布时间:2013-02-26 00:00:00.0
这样的统计代码如何写?
表内容类似于左边,想得到右边的结果。
如果记录数少还好通过人工计算,但现在数据量有几千条,就是我想数也数不清啊。所以来请大侠们帮忙写个代码。
组合结果这是二个组合,有些还是三个、四个甚至五个呢。

编号 编码 名称 组合 数量
1 A A+B 1
1 B C+D 1
2 C E+D 2
2 D F+D 1
3 E G+B 1
3 D E+H 1
4 F
4 D
5 G
5 B
6 E
6 D
7 E


------解决方案--------------------------------------------------------
SQL code
*CREATE TABLE 原数据 (类别 c(1),编号 n(2))*CREATE TABLE 目的表 (组合 c(50),数量 n(3))Set Safety OffClose DatabasesUse 原数据 In 0 Alias 原数据Use 目的表 In 0 Alias 目的表Select 目的表ZapIndex On 组合 To 目的表Select 原数据Index On Chrtran(Str(编号,2),' ','0')+类别 To 原数据Select Distinct 编号 From 原数据 Into Cursor bhbSelect bhbGo TopScan    bh=编号    Select 原数据    Copy To ls.Dbf For 编号=bh    Use ls In 0    Select ls    zh=""    If Reccount()>1        Go Top        Scan            zh=zh+Alltrim(类别)+"+"        Endscan        zh=Left(zh,Len(zh)-1)    ENDIF    SELECT ls    USE    Select 目的表    Seek zh    If Found()        Replace 数量 With 数量+1    Else        Append Blank        Replace 组合 With zh,数量 With 1    Endif    Select bhbENDSCANSELECT bhbUSEDELETE FILE ls.dbfSET SAFETY ONSELECT 目的表BROWSEMessagebox("....")
  相关解决方案