本帖最后由 LukeLiu 于 2019-12-24 13:54 编辑
在活字格经常会用到主子表,主子表一般是主表一行数据对应子表多行的数据,简称为一对多关系。
举个例子,公司表为主表,公司人员表示子表:
为主表速生成页面,有列表页和详情页,查看一项纪录的详情页,可以看到主表当前行关联的所有子表数据:
图中的详情页,是通过表格展示所有的子表数据。
现在想只使用一个单元格展示子表中一个字段的所有数据,该如何实现呢?
我整理出了两个方法:
1. 页面使用TEXTJOIN()公式的方法
2. 创捷视图的方法
面使用TEXTJOIN()公式的方法:
在主表的详情页面,隐藏区域里设置子表关联,这样打开主表详情页的时候,可以通过表格获取所有的子表数据,然后在详情页面设置一个TEXTJOIN()公式,连接子表的某一个字段,子表的这列所有数据被TEXTJOIN()公式连在了一起,效果如图。
创捷视图的方法: 通过创建一个视图,让主表左联子表,通过group_concat拼接一条主表记录对应的多条子表记录,记为一个新的字段。
- with cto as
- (
- SELECT 公司表.id as ID,名称,地址,人员名称 FROM "公司表"
- left join "公司人员表" on 公司表.id= 公司表_ID
- )
- SELECT ID,名称,地址, group_concat(人员名称) as 人员 FROM cto group by 名称 ;
复制代码
视图效果:
之后,在页面上直接引用视图的这个字段就可以了:
|