C# 如果任何记录小于零,Crystal Reports将抑制列表中的所有记录

C# 如果任何记录小于零,Crystal Reports将抑制列表中的所有记录,c#,sql,crystal-reports,C#,Sql,Crystal Reports,我有一个crystal报告,它可以获取所有的就绪订单,该报告有一个详细信息部分,其中有许多就绪订单的记录,公共值为(订单ID),并有一个名为(数量)的参数。如果每个订单的任何记录(数量)

我有一个crystal报告,它可以获取所有的就绪订单,该报告有一个详细信息部分,其中有许多就绪订单的记录,公共值为(订单ID),并有一个名为(数量)的参数。如果每个订单的任何记录(数量)<0,我需要抑制所有这些记录 请帮忙….?

这就是你想要的吗

select t.*
from t
where not exists (select 1
                  from t t2
                  where t2.orderid = t.orderid and
                        t2.qty < 0
                 );

如果您的源不是一个表,而是一个复杂的查询,这肯定是一个更好的方法,因为查询只计算一次。

我需要为另一个任务选择所有数据,是否希望此报告在过滤数据后仅显示我需要的数据@艾哈迈德纳迪。我不明白你的评论。这两个查询都返回您需要的行(尽管第二个查询确实添加了一个额外的列,而您不会在外部查询中选择该列)。如果您可以添加更多信息,您的问题可能会更容易理解,以便其他人帮助您解决问题。例如,遇到路障的代码片段。如果您没有这样做,我建议您检查一下:
select t.*
from (select t.*, min(qty) over (partition by orderid) as min_qty
      from t
     ) t
where min_qty >= 0;