水晶报告(案例)

时间:2010-01-12 07:43:20

标签: crystal-reports

即时通讯使用asp.net水晶报告........ sql查询:

CONVERT(NUMERIC(17,3), CASE 
                WHEN 
            CASE WHEN GLDD_DOC_AMOUNT > 0 THEN GLDD_DOC_AMOUNT ELSE 0 END = 0 THEN NULL 
                ELSE 
            CASE WHEN GLDD_DOC_AMOUNT > 0 THEN GLDD_DOC_AMOUNT ELSE 0 END 
            END) DR,
             CONVERT(NUMERIC(17,3), CASE 
                WHEN (- 1 * 
            CASE WHEN GLDD_DOC_AMOUNT < 0 THEN GLDD_DOC_AMOUNT ELSE 0 END) = 0 THEN NULL 
                ELSE - 1 * 
            CASE WHEN GLDD_DOC_AMOUNT < 0 THEN GLDD_DOC_AMOUNT ELSE 0 END 
            END) CR,

上面的查询是来自sql server 2005 ..... 我必须在水晶报告公式编辑器中使用此查询..... 如何?

1 个答案:

答案 0 :(得分:0)

您可以将两个SQL部分粘贴到SQL表达式公式中(一个用于CR部件,另一个用于DR部件),或者将它们重写为Crystal公式。 这两个公式都有一些冗余,在SQL中更容易

CONVERT(NUMERIC(17,3), Case When GLDD_DOC_AMOUNT > 0 Then GLDD_DOC_AMOUNT Else null End) AS DR,
CONVERT(NUMERIC(17,3), Case When GLDD_DOC_AMOUNT < 0 Then -1*GLDD_DOC_AMOUNT Else null End) AS CR

在Crystal语法中,您可以使用If ... Else