> 主子报表是指:报表包含了一片或者多片区域,每一片区域展示不同的数据,通过主子报表的关联,数据动态显示 >SQL数据源:通过sql的形式对主子报表的数据进行操作 [TOC] # SQL数据源主子报表 ## 演示效果 ![](https://img.kancloud.cn/f6/6e/f66e98d6ce633ed03a29db33e8a3443e_1911x980.png) ## 设计步骤 ### 新建一个名为`部门用户详情`的数据报表 > 创建两个表 >第一张表名称为`部门`,数据结构:部门编号,部门名称,公司 ![](https://img.kancloud.cn/88/16/88161fdc75e7dca9e70f2db1fd4d355e_1129x93.png) >第二张表名称为`员工`,数据结构:员工姓名、性别、年龄、入职日期、部门表的外键 ![](https://img.kancloud.cn/60/00/60001cf0cfa19ac95b681bf2d39b7177_1157x214.png) #### 1、为`部门用户详情`创建两个数据源 ##### 1.1 创建主表数据源 >名称为`部门` ![](https://img.kancloud.cn/cc/19/cc199393c261d65cc850fca416f610c4_1920x885.png) ##### 1.2 创建子表数据源 >名称为`订单详情` ![](https://img.kancloud.cn/4b/b0/4bb0dc74cedf3627a527a4fd003d75e3_1920x900.png) #### 2、将主表、子表字段拖拽到设计器页面 ![](https://img.kancloud.cn/92/15/921545a1f34e4acac5024095b79c3557_1919x896.png) #### 3、重点来了->主子报表参数设置 ![](https://img.kancloud.cn/c0/ca/c0cadb617e93e790733a3d8bea95a848_1646x688.png) - 名称:随意填写 `部门员工信息详情` - 主表数据源:主数据源对应的名称`部门` - 子表数据源:子数据源对应的名称`员工` - 参数传递:子表参数:子数据源`员工`的参数;主表字段:主数据源`部门`对应的字段 ![](https://img.kancloud.cn/ac/b2/acb23b80eed736545a04481eda01593b_766x553.png) >保存预览即可 ![](https://img.kancloud.cn/4b/20/4b20cdaec2abe3b20e9c2a570308c213_1911x980.png) ## 主子表数据结构 > 主表json格式 ``` { "data": [ { "dGoodsCode": "17612057", "dAddress": "北京市海淀区", "dArrivalDate": "2021年3月21日", "dName": "张三", "dGoodsDate": "2021年3月19日", "id": "1", "dOrderDate": "2021年3月18日" } ] } ``` >子表json部分格式 ``` { "data": [ { "ctotal": "125箱", "cname": "牛奶0", "cprice": "56", "riqi": "2022年10月21日", "id": "1", "dtotal": "1256箱", "tp": "7000", "ztotal": "589箱", "cnum": "每箱12瓶", "dId": "1" } } ```