Crystal Reports:仅显示联接表的一行

2020-08-20 19:03发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个连接到"命令"表的联接,我只想从中返回最新结果。 查询是这样的:

 从TABLEA中选择*
 其中CONDITION1 ='01'
 AND CONDITION2 ='02'
 在DATE desc之前订购
  

当我将其更改为

 从TABLEA中选择前1个*
 其中CONDITION1 ='01'
 AND CONDITION2 ='02'
 在DATE desc之前订购
  

如果表中有> 1条记录,它将正常工作

如果只有1条记录,则不会显示结果

出于记录目的,我使用的是Crystal Reports 2013,它是一个子报表

任何帮助或解决方法将不胜感激

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个连接到"命令"表的联接,我只想从中返回最新结果。 查询是这样的:

 从TABLEA中选择*
 其中CONDITION1 ='01'
 AND CONDITION2 ='02'
 在DATE desc之前订购
  

当我将其更改为

 从TABLEA中选择前1个*
 其中CONDITION1 ='01'
 AND CONDITION2 ='02'
 在DATE desc之前订购
  

如果表中有> 1条记录,它将正常工作

如果只有1条记录,则不会显示结果

出于记录目的,我使用的是Crystal Reports 2013,它是一个子报表

任何帮助或解决方法将不胜感激

付费偷看设置
发送
1条回答
哎,真难
1楼-- · 2020-08-20 19:51

我会将查询更改为这样的内容(如果您的数据库允许的话...),这样您将只获得最新记录:

选择*
 来自TABLEA
 其中CONDITION1 ='01'
   并且CONDITION2 ='02'
   和DATE =(
     选择最大值(DATE)
     来自TABLEA
     其中CONDITION1 ='01'
       并且CONDITION2 ='02')
 

前面已经说过,使用命令的最佳实践是使用一个命令来提取报表(或子报表)所需的所有数据,而不是将表连接到命令。 当您联接到命令时,Crystal无法将联接推入数据库进行处理,而是在内存中进行联接。 如果没有太多数据,则不会花费太多时间,但是如果有很多行需要连接,则可能会花费很长时间并且会占用计算机上的大量资源。 请参阅我的博客此处有关如何使用命令的更多信息。

-Dell