关联查询

在数据组件上,设置多表关联查询,使用数据库的 join 方式实现,要求关联查询涉及的数据集必须在同一个数据库内。

特别说明

  • 同一个模块内的数据集,可以使用数据组件的关联查询
  • 跨模块跨应用的数据集,如果连接同一个数据库,可以使用数据组件的关联查询
  • 跨模块跨应用的数据集,如果连接同一种类型的数据库,可以使用 SQL 数据集通过 SQL 实现关联查询
  • 跨模块跨应用的数据集,如果连接不同类型的数据库,可以使用输出数据集实现关联查询,参考《输出数据集

数据组件的关联查询支持内连接、左连接、右链接、全连接。这几种方式设计时的操作方法都是一样的,设置关联的时候选择具体的连接类型即可

关联条件可以设置多个

最终执行的 sql 根据不同的设置,可以有多种组合方式

1.select A.*,B.name,B.age from A left join B on A.id=B.id or A.name=B.name 
2.select A.*,B.name,B.age,C.creatAt from A left join B on A.id=B.id or A.name=B.name left join C on A.id=C.id
3.select A.*,B.name,B.age from A left join B on A.id=B.id or (A.name=B.name and A.age>B.age)

下面讲解一个三张表的关联查询的案例

学生表

成绩表

课程表

要查出成绩大于70的学生以及课程名和教师,可以如下设置:

在页面上拖放学生表,然后对学生表设置关联查询,需要两层关联查询才可以把学生、成绩、课程名、教师查出来

关联查询后就可以在过滤条件的设置中对成绩进行过滤

这样就能查出需要的结果

results matching ""

    No results matching ""