2011-06-27 5 views
1

右。だから私は、次のSQL Serverのクエリを持っている:ネストされたクエリ、これを行う最もよい方法。添付の例

SELECT  St.Financial_Account_ID, St.Business_ID, St.Financial_Account_Desc, St.Financial_Account_Type_ID, St.Financial_Account_Active, 
        St.Financial_Account_OpeningBalance, St.CRTotal, St.DRTotal, CASE st.Financial_Account_Type_ID WHEN 1 THEN (DRTotal - CRTotal) 
        WHEN 2 THEN (CRTotal - DRTotal) WHEN 3 THEN (CRTotal - DRTotal) WHEN 4 THEN (DRTotal - CRTotal) END AS Balance, 
        Financial_Account_Type.Financial_Account_Type_Desc 
FROM   (SELECT  Financial_Account_ID, Business_ID, Financial_Account_Desc, Financial_Account_Type_ID, Financial_Account_Active, 
               Financial_Account_OpeningBalance, 
                (SELECT  ISNULL(SUM(Financial_Transaction_Amount), 0) AS Expr1 
                 FROM   Financial_Transaction AS Financial_Transaction_1 
                 WHERE  (Financial_Transaction_CR_AccountID = FA.Financial_Account_ID) AND (Financial_Transaction_Date <= @ToDate)) AS CRTotal, 
                (SELECT  ISNULL(SUM(Financial_Transaction_Amount), 0) AS Expr1 
                 FROM   Financial_Transaction AS Financial_Transaction_2 
                 WHERE  (Financial_Transaction_DR_AccountID = FA.Financial_Account_ID) AND (Financial_Transaction_Date <= @ToDate)) AS DRTotal 
         FROM   Financial_Account AS FA) AS St INNER JOIN 
        Financial_Account_Type ON St.Financial_Account_Type_ID = Financial_Account_Type.Financial_Account_Type_ID 
WHERE  (St.Financial_Account_Type_ID = 1 OR 
        St.Financial_Account_Type_ID = 2) AND (St.Business_ID = @BusinessID) AND (CASE st.Financial_Account_Type_ID WHEN 1 THEN (DRTotal - CRTotal) 
        WHEN 2 THEN (CRTotal - DRTotal) WHEN 3 THEN (CRTotal - DRTotal) WHEN 4 THEN (DRTotal - CRTotal) END <> 0) 

これは私のバランスシートを取得し、そのtelerikレポートで使用されるので、変数など

を私は今、「比較貸借対照表」を作成するために何を必要としません私は上記のレポートを異なる日付で2回生成し、パーセンテージを変更して列を作成する必要があります。

私はこれをすべて行う方法を見ることができますが、私が終わった時点でかなり乱雑になり、何かをデバッグすることは雑用になるでしょう、これはかなり単純な例になるでしょうと言った。その唯一のここから複雑になるだろう。

私は何を探していますがどちらかである:私は生成しています、またはこれらのことを書くためのより多くの手続き方法があるサブテーブルのデバッグを容易にします

querybuilderタイプthingo ...など

クエリ ゴー クエリ ゴー

は事の仕事の並べ替えをしていますか?すべてをリンクするにはどうしたらいいですか? haventは記事を見つけましたが、すべてが基本的なselectステートメントを紹介するようにしか見えません。

私の読書をするのは楽しいですが、ちょうど正しい方向へのプッシュが必要です。

ご協力ありがとうございます。

+0

どのバージョンのSQL Server? –

答えて

関連する問題