如何实现这样的报表
有2张表,一张主档,一张明细档。这2张表是依据指令单来记录生产部门不同工序记录的表。字段是动态的。也就是说不同的生产部门的不同工序就有不同的字段。表结构如下:
T_Mstr 主档
ID OrderNO CustomerNO ProductNO ProductName
T_Detail 明细档
ID OrderNO DeptNO gongxuNO Attribute Number
主档主要存放指令单信息,而明细档主要是存放不同部门的不同字段的工序名称和值。
添几条记录:
T_Mstr 主档
序号 单号 指令单号 客户 产品编号 产品名称
ID OrderNO DictinctNO CustomerNO ProductNO ProductName
1 PH-20081111-01 PD-20081001-01 电子公司 SZ001 机壳
2 PH-20081111-02 PD-20081012-02 电器公司 td001 前盖
3 PH-20081111-03 PD-20081015-01 电器公司 td002 后盖
T_Detail 明细档
序号 单号 部门 工序 属性名称 属性值
ID OrderNO DeptNO gongxuNO Attribute Number
1 PH-20081111-01 01 注塑 合格率 100
2 PH-20081111-01 01 注塑 不合格率 10
3 PH-20081111-01 01 注塑 检验员 王
4 PH-20081111-02 01 成型 下料 1000
5 PH-20081111-02 01 成型 余下班片材 50
6 PH-20081111-02 01 成型 成型数量 900
7 PH-20081111-02 01 成型 修刮 20
8 PH-20081111-02 01 成型 检验员 小张
9 PH-20081111-02 02 组装 总数量 1000
10 PH-20081111-02 02 组装 合格数 950
11 PH-20081111-02 02 组装 不合格数 50
12 PH-20081111-02 02 组装 检验员 王
现根据部门和工序来查询,想生产最后的报表格式如下:
当选择 部门:01 工序:注塑
单号 指令单号 客户 产品编号 产品名称 部门 工序 合格率 不合格率 检验员
PH-20081111-01 PD-20081001-01 电子公司 SZ001 机壳 01 注塑 100 10 王
当选择 部门:01 工序:成型
单号 指令单号 客户 产品编号 产品名称 部门 工序 下料 余下班片材 成型数量 修刮 检验员
PH-20081111-02 PD-20081012-02 电器公司 td001 前盖 01 成型 1000 50 900 20 小张
当选择 部门:02 工序:组装
单号 指令单号 客户 产品编号 产品名称 部门 工序 总数量 合格数 不合格数 检验员
PH-20081111-03 PD-20081015-01 电器公司 td002 后盖 02 组装 1000 950 50 王
也就是想把明细档的属性名称当成列的标题,跟主档关联。因为查询条件一定要选部门和工序,所以查询的结果的列都是一样的属性名。
如何实现这样的功能,该怎么样来写这个存储过程,请各位指教