如何在Crystal Reports中实现带附加条件的表连接查询?
在Crystal Reports中实现带附加条件的多左连接查询
步骤1:添加数据表并设置别名
打开Crystal Reports的数据库专家,依次添加docs、elem表,然后重复添加3次attributes表——每次添加时系统会提示是否重命名表,手动将这3次添加的attributes分别命名为a1、a2、a3。
步骤2:配置表连接(含附加条件)
- 内连接
docs与elem:拖曳docs.id到elem.doc_id,默认生成内连接,保持默认即可。 - 左连接
elem与a1:拖曳elem.id到a1.e_id,弹出连接属性窗口后:- 选择连接类型为左外连接(确保
elem的所有记录都被保留); - 在连接条件区点击「添加」,新增条件
a1.a_id = 2,让它和原有的elem.id = a1.e_id形成AND关系。
- 选择连接类型为左外连接(确保
- 左连接
elem与a2:重复上述操作,连接条件设为elem.id = a2.e_id AND a2.a_id = 3,连接类型选左外连接。 - 左连接
elem与a3:同理,连接条件设为elem.id = a3.e_id AND a3.a_id = 4,连接类型选左外连接。
步骤3:设置全局筛选条件
打开选择专家,选中docs.id,设置筛选规则为「等于 123」,对应SQL里的WHERE d.id = 123。
步骤4:布局字段到报表
在字段资源管理器中,把docs.docNo、elem.product、a1.atr1、a2.atr2、a3.atr3拖到报表的细节区域,就能实现将多个属性展示在同一行的效果。
内容的提问来源于stack exchange,提问作者Radosław Dobrowolski
相关产品推荐
相关产品推荐

