2017-02-14 76 views
0

我的SQL存儲過程返回以下結果:一個水晶組中刪除重複的結果報告

ID District Decision 
----------------------- 
17 First  Approved 
17 First  Partially approved 
17 First  Pending 
17 Second Approved 
17 Second Partially approved 
17 Second Pending 

同樣在我的水晶報表生成。區和決策欄沒有任何關係。它們都只與ID(requestId)相關。作爲加入3個表格的結果,我得到了每個區域的重複結果。

到目前爲止,我能夠通過ID對記錄進行分組,並抑制重複的行。這樣做之後,我已經得到了以下在我的報告:

ID District Decision 
----------------------- 
17 First  Approved 
       Partially approved 
       Pending 
    Second Approved 
       Partially approved 
       Pending 

到目前爲止好,但我最終還是要的是得到的是類似如下:

ID District Decision 
---------------------- 
17 First  Approved 
    Second Partially approved 
       Pending 

我希望所有的空格來被刪除(這是壓制重複後留下),並且只留下ID組內的不同記錄。

我想在水晶報表做的一切,這就是爲什麼我在SQL服務器

+0

F.Y.I.您可以在* Crystal Reports中編寫自己的SQL命令*。只需彈出數據庫專家,選擇您的連接,然後選擇添加命令。 – 4444

回答

0

周圍排除工作。如果編輯SQL不是一個選項,你在正確的軌道上。總之,你會想:

  1. 編寫判斷爲真,如果以前的記錄具有相同的ID和區公式(@YourFormula)。 (提示:使用PREVIOUS()函數。)
  2. 設置您的詳細信息部分中的每個字段的格式,以便將抑制公式設置爲@YourFormula
  3. 在部分編輯器中查看詳細信息,選中「壓縮空白部分」。

這一切取決於您的記錄是否正確分組。如果它們有時出現亂序,則可能需要編輯當前的SQL。

+0

謝謝@ 4444的回覆。有些事情是不對的。我遵循你解釋的步驟,但我得到了同樣的結果。我使用的公式是:{usp_storedProcedure; 1.ID} = previous({usp_storedProcedure; 1.ID}) AND {usp_storedProcedure; 1.District} = previous({usp_storedProcedure; 1.District}) –

+0

很難無需查看/瞭解您的報告即可診斷此問題。您是否反對在Crystal中編寫自定義SQL命令?這會讓你對報告中的內容有更多的控制。 – 4444

+0

對不起@ 4444的回覆。我暫時解決了在存儲過程中使用遊標的問題,但是如果您給我一些關於如何在Crystal中使用自定義SQL命令的清晰示例,會很高興! –