hur.cn - 华软网

 热门搜索

关于生成报表的问题!请高手指点一二,谢谢!

  作者:未知    来源:网络    更新时间:2019/10/7
数据库以下:
1、表:a.dbf
  结构类型代码  结构类型名称
      1           土木结构
      2           框架结构
           ……
2、表:b.dbf
   建筑种类代码  建筑种类名称
      1             围墙
      2             草坪
           ……
3、表:c.dbf
   建筑单位编码  建筑单位名称
       10001        建设1处
       10002        建设2处
2、表:d.dbf 
   建筑单位编码   建筑项目编号 结构类型代码 建筑种类代码 面积 价格
      10001           001            1           1        10   10000
      10001           002             2          2        10    5000
      10002           001            1           2        10    3000

根据上述数据库,须生成以下报表:


建筑单位 项目编号 土木结构 框架结构 ……   围墙 草坪 面积 价格
 建设1处   001       1        0             1     0   10   10000
……

问题:报表中有几列是响应数据库的字段,用select能够简单的获得。但有几列却是某几张表单字段的值!!!当该字段的值和报表响应的列名一致时填入“1”,否则为“0”。最后当某一个单位所有合适的记录完成时,还要有一个小计(group)。
讨教列位高手,这个报表该如何措置惩罚?如何写SQL!(我只想到一个措施:建一张新表。但效率太低,不太可取。)

------华软网友回答------
vfp的

用临时表

------华软网友回复------
先select出所有 结构类型名称
然后拼成这类字符串(只是示意),

SELECT   数据来源,sum(IIF(运用级别='VIP',记录数,0))   as   VIP,sum(IIF(运用级别='一般用户',记录数,0))   as   一般用户,sum(IIF(运用级别='专家',记录数,0))   as   专家   FROM   你的临时表   GROUP   BY   数据来源   

然后用这字符串动态创建dw
     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。