0

個別を使用して探しているデータを返すクエリがありますが、そのデータを合計すると、階層ポイント '4-2-0-0-5-2' に対して間違った量が得られます。4-2-0-0-5-2 には複数の行があるため、合計すると正しく加算されません。個別を SUM ステートメントに組み込む最良の方法は何でしょうか。どんな助けでも感謝します。ありがとう。

最初のクエリ:

     Select distinct B.Proj_Nbr,c.proj_cc,h.proj_cc, h.Proj_Hier, B.Proj_Nm, D.Fscl_Per, A.Amount
     from acct_bal a 
     inner join dim_proj b on a.dim_proj_id = b.dim_proj_id 
     inner join essbase_fcs.projects_hier_map c on c.proj_nbr = b.proj_nbr 
     inner join dim_per_mo d on d.dim_per_mo_id = a.dim_per_mo_id 
     Inner Join Dim_Acct F On A.Dim_Acct_Id = F.Dim_Acct_Id 
     Inner Join Dim_Org G On A.Dim_Org_Id = G.Dim_Org_Id 
     inner join essbase_fcs.projects_hier_map h on h.proj_cc = g.cost_ctr
     inner join dim_org g1 on c.proj_cc = g1.cost_ctr
     Where F.Fin_Lee_Nbr = 500 
     and c.proj_hier like '4-2-0-0-5-2%'
     And A.Dim_Scnro_Id = '45'
     And D.Fscl_Yr = '2014'
    And b.Proj_Nbr = '9005459'
    and fscl_per ='1'

2 行の結果:

9005459 0358080 0358080 4-2-0-0-5-2 グローバルセールス.com (iSell) 179777.09
9005459 0358080 0358057 4-2-0-0-5-5 グローバルセールス.com (iSell) 2257.3**

データを合計したいときは、以下のクエリを使用します。これにより、探している 2 つの行が得られますが、proj_hier 4-2-0-0-5-2 には複数の行があるため、量が間違っています。

 Select  B.Proj_Nbr,c.proj_cc, h.Proj_Hier, B.Proj_Nm, D.Fscl_Per, sum(A.Amount)
     from acct_bal a 
     inner join dim_proj b on a.dim_proj_id = b.dim_proj_id 
     inner join essbase_fcs.projects_hier_map c on c.proj_nbr = b.proj_nbr 
     inner join dim_per_mo d on d.dim_per_mo_id = a.dim_per_mo_id 
     Inner Join Dim_Acct F On A.Dim_Acct_Id = F.Dim_Acct_Id 
     Inner Join Dim_Org G On A.Dim_Org_Id = G.Dim_Org_Id 
     inner join essbase_fcs.projects_hier_map h on h.proj_cc = g.cost_ctr 
     inner join dim_org g1 on c.proj_cc = g1.cost_ctr
     Where F.Fin_Lee_Nbr = 500 
     and c.proj_hier like '4-2-0-0-5-2%'
     And A.Dim_Scnro_Id = '45'
     And D.Fscl_Yr = '2014'
    And b.Proj_Nbr = '9005459'
    and fscl_per ='1'
    group by B.Proj_Nbr,c.proj_cc,f.dim_acct_id, h.Proj_Hier, B.Proj_Nm, D.Fscl_Per
                    having Sum(A.Amount) <> 0 
                   Order By  H.Proj_Hier,  B.Proj_Nbr, D.Fscl_Per
4

1 に答える 1

0

質問を一般化してから、質問してください。問題を理解した場合は、ここに解決策があります。

一般的なクエリ:

your_table から sum(a.mountColumn) を選択します

agrrColumnName でグループ化します。

クエリを変更した場合:

acct_bal から個別の B.Proj_Nbr,c.proj_cc,h.proj_cc, h.Proj_Hier, B.Proj_Nm, D.Fscl_Per, sum(A.Amount) を選択 a 内部結合 dim_proj b on a.dim_proj_id = b.dim_proj_id 内部結合 essbase_fcs .projects_hier_map c on c.proj_nbr = b.proj_nbr 内部結合 dim_per_mo d on d.dim_per_mo_id = a.dim_per_mo_id 内部結合 Dim_Acct F On A.Dim_Acct_Id = F.Dim_Acct_Id 内部結合 Dim_Org G On A.Dim_Org_Id = G.Dim_Org_Id 内部結合 essbase_fcs .projects_hier_map h on h.proj_cc = g.cost_ctr 内部結合 dim_org g1 on c.proj_cc = g1.cost_ctr ここで、F.Fin_Lee_Nbr = 500 および c.proj_hier like '4-2-0-0-5-2%' And A .Dim_Scnro_Id = '45' And D.Fscl_Yr = '2014' And b.Proj_Nbr = '9005459' and fscl_per ='1' group by B.Proj_Nbr;

于 2013-08-09T16:13:57.837 に答える