2010-01-12 58 views
0

IM(情況)........ SQL查詢:晶體報告使用asp.net晶體報告

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 ..... 我必須在水晶報表中使用這個查詢公式編輯器..... 怎麼樣?

+0

不能使用該查詢。我建議解釋(並讓自己清楚),上面的查詢是什麼以及需要在Crystal Reports中輸出哪些列。 – Arvo 2010-01-12 08:03:01

回答

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

+0

不工作不能調用水晶報告中的convert()方法 – Domnic 2010-01-12 08:50:09

+0

非常感謝 – Domnic 2010-01-12 09:27:40