DeepQL查询语句可通过链接正向、反向级联查询多层对象的数据,无需进行额外关联
通过链接级联查询,即通过多个.链接编码
(作为链接路径)到达目标对象,以查询目标对象的属性/链接。例如:DeepModel中通常是业务数据指向主数据,可通过业务数据指向主数据的链接,在业务数据中冗余关联的主数据信息
新建链接为正向链接,每条正向链接都有一条虚拟的反向链接。反向链接有标识<
,且需要通过[is 对象编码]
指定反向链接的目标对象。假设对象Feature中有一条正向链接.requirement指向对象Requirement,对象Requirement中就有一条对应的反向链接.<requirement[is Feature]指向对象Feature。例如:DeepModel中通常是行表指向头表,可通过行表指向头表链接的反向链接,在头表获取关联的行表数据进行聚合
级联查询例子1
查询最近创建的10个高优先级功能需求的相关信息,包括:需求的ID、名称、状态,需求负责人的名字、邮箱,组件的名称,以及关联的功能数量
select Requirement {
req_id,
req_name,
req_status,
req_owner_name := .req_owner.person_name,
req_owner_email := .req_owner.system_user.email,
component_name := .component.name,
feature_count := count(.<requirement[is Feature])
}
filter .req_type = 'func' and .priority = 'high'
order by .created_time desc
limit 10
级联查询例子2
查询每个组件的需求数量、功能数量,组件显示中文名称
select Component {
component_name := json_get(.name, 'zh-cn'),
req_count := count(.<component[is Requirement]),
feature_count := count(.<component[is Feature])
}
回到顶部
咨询热线