2015-07-02 64 views
0

以下是我在Crystal Reports中使用的SQL查詢。Crystal Reports使用SQL查詢並生成累積餘額列

SELECT  
    sum_date, sum_accname, sum_description, credit, debit 
FROM 
    sum_balance 
WHERE 
    sum_accname = {?acc_name} 
    AND sum_date >= {?fromDate} 
    AND sum_date <= {?toDate} 

它工作得很好,但我需要使用信用卡和借記卡作爲累計餘額列(一列平衡就像在一個銀行對帳單),以獲得另一列。雖然我的參數正在工作,並且數據正在根據提供的日期進行過濾,但我無法獲得實際的餘額,而只是計算這兩個日期之間的數據。

有什麼辦法可以解決這個問題嗎?

+0

你需要完整的數據嗎?不僅是水晶報表查詢所選的數據? – Siva

+0

需要僅顯示採集的數據和以前的數據的餘額作爲期初餘額和準備金餘額列 –

回答

0

我認爲你需要將一行添加到您的查詢是這樣的:

SELECT  
    MAX(sum_date) As sum_date, MAX(sum_accname) As sum_accname, 
    MAX(sum_description) As sum_description, 
    SUM(credit) As credit, SUM(debit) As debit, 1 As uNo 
FROM 
    sum_balance 
WHERE 
    sum_accname = {?acc_name} 
    AND sum_date < {?fromDate} 
UNION ALL 
SELECT  
    sum_date, sum_accname, sum_description, credit, debit , 2 as uNo 
FROM 
    sum_balance 
WHERE 
    sum_accname = {?acc_name} 
    AND sum_date >= {?fromDate} 
    AND sum_date <= {?toDate} 

與此查詢您的第一行,或uNo = 1有舊的借方和貸方的總和行。

0

您可以使用上一個功能在水晶報表中獲取前一天的餘額。

獲得累計餘額創建一個公式並寫入credit - debit並在信用和借記列設計後放置。

如果你需要更多的信息,然後顯示reprot的設計部分,你在哪裏放置列。

+0

準備金餘額列是單獨的列 –

+0

是的我明白這種方式要求創建一個公式.. – Siva

+0

是否有任何方式創建公式 –