2011-10-27 66 views
0

我正在与Crystal Report合作收取费用以及与这些费用相关的交易。一次押记可能会附加很多交易,并且一次交易可能涉及许多费用。当我将这份报告放在一起时,如果该收入代码组中有很多费用,交易将会重复。如果有一笔押记有很多交易,押记将自行重复。我也必须为这些收费和交易做小计和总计,所以如果数据有重复,总计也会增加 如何删除这些重复项?Crystal Report:删除重复项目

下面是这份报告的SQL查询:

SELECT DISTINCT 
    A123Test_ChargeOnly."enc_nbr", 
    A123Test_ChargeOnly."revenue_code_id",A123Test_ChargeOnly."Charge", 
    A123Test_TransOnly."Tran_Description", A123Test_TransOnly."tran_amt" 
FROM 
    { oj "NGProd"."dbo"."123Test_ChargeOnly" A123Test_ChargeOnly 
    INNER JOIN "NGProd"."dbo"."123Test_TransOnly" A123Test_TransOnly ON 
    A123Test_ChargeOnly."enc_nbr" = A123Test_TransOnly."enc_nbr"} 
ORDER BY 
    A123Test_ChargeOnly."enc_nbr" ASC, 
    A123Test_ChargeOnly."revenue_code_id" ASC 
+0

水晶是否具有distinctcount()或distinctsum()函数?我不再使用Crystal,但我认为它的确如此。他们会工作吗? – PowerUser

+0

您正在使用哪种SQL(Oracle,MySQL,SQLServer等)? –

+0

Crystal Report确实具有distinctcount()但不包含distinctsum()。我也尝试使用“选择不同记录”选项,它确实消除了一些但不是全部重复。 – user1017166

回答

0

而不是加入两个表,我建议UNIONing他们 - 是这样的:

SELECT 'Charge' record_type, enc_nbr, revenue_code_id, Charge, '' Tran_Description, 0 tran_amt 
FROM "NGProd"."dbo"."123Test_ChargeOnly" 
UNION ALL 
SELECT 'Transaction' record_type, enc_nbr, '' revenue_code_id, 0 Charge, Tran_Description, tran_amt 
FROM "NGProd"."dbo"."123Test_TransOnly" 
ORDER BY 2, 1, 3 
0

至于我记得,有水晶报表“专家”部分中的特定'压制(如果重复)'选项。