Sql 相当于Oracle Apex中的嵌套模型或如何生成嵌套报告

Sql 相当于Oracle Apex中的嵌套模型或如何生成嵌套报告,sql,oracle-apex,Sql,Oracle Apex,我在Oracle Apex中生成报告时遇到问题。我想显示实体及其子实体的报告。 有顾客。客户有0个或多个IT体系结构。IT体系结构由0个或多个IT系统和0个或多个IT服务提供商组成 现在,我选择加入此数据(IT服务提供商尚未实施,因此我们只有客户、IT架构和IT系统): (昆登=客户) 输出如下: 这看起来不太好,因为如果一个客户有多个体系结构,或者一个体系结构有多个it系统,那么所有关于客户和体系结构的信息都会被多次列出。使用控制中断,它看起来更好一些 但是,每个it系统都会多次列出it体系

我在Oracle Apex中生成报告时遇到问题。我想显示实体及其子实体的报告。 有顾客。客户有0个或多个IT体系结构。IT体系结构由0个或多个IT系统和0个或多个IT服务提供商组成

现在,我选择加入此数据(IT服务提供商尚未实施,因此我们只有客户、IT架构和IT系统): (昆登=客户)

输出如下:

这看起来不太好,因为如果一个客户有多个体系结构,或者一个体系结构有多个it系统,那么所有关于客户和体系结构的信息都会被多次列出。使用控制中断,它看起来更好一些

但是,每个it系统都会多次列出it体系结构。 有没有一种方法可以让它看起来像下面的例子,而不需要硬编码html表

我希望能够在这个嵌套的报表中进行搜索,因此不能对html表进行硬编码。目标是能够通过it系统过滤客户。示例:向我展示使用系统A和系统B的用户。对于我现在使用的连接,这不起作用。我是否需要在查询中使用group by


我希望能够发布图像,但stackoverflow有点限制。

此示例来自标准的apex演示应用程序,当您请求apex.oracle.com上的工作区时,会创建该应用程序

select  
  lpad(to_char(o.order_id),4,'0000') order_number,
  o.order_id,  
  to_date(to_char(o.order_timestamp,'mm yyyy'), 'mm yyyy') order_month,   
  trunc(o.order_timestamp) order_date,
   o.user_name sales_rep, 
  o.order_total,  
  c.cust_last_name || ', ' || c.cust_first_name customer_name,
  (select count(*) from demo_order_items  oi where oi.order_id = o.order_id) order_items,
  o.tags tags
from  
  demo_orders o,  
  demo_customers c
where  
  o.customer_id = c.customer_id 
原始列表

添加控制中断操作>格式>控制中断后
Format>Control Break“/>

嘿,Jan,谢谢你的回复。我知道Control Break。但这不是正确的做法。它们有助于对客户的所有it架构进行分组,但不能对it系统进行分组。我需要在it架构行中设置嵌套的控件Break(如示例表所示)。
select  
  lpad(to_char(o.order_id),4,'0000') order_number,
  o.order_id,  
  to_date(to_char(o.order_timestamp,'mm yyyy'), 'mm yyyy') order_month,   
  trunc(o.order_timestamp) order_date,
   o.user_name sales_rep, 
  o.order_total,  
  c.cust_last_name || ', ' || c.cust_first_name customer_name,
  (select count(*) from demo_order_items  oi where oi.order_id = o.order_id) order_items,
  o.tags tags
from  
  demo_orders o,  
  demo_customers c
where  
  o.customer_id = c.customer_id