簡體   English   中英

SQL查詢第二個求和列的平方結果

[英]SQL Query Second sum column squaring results

如果我分別運行2個查詢,我將得到如下結果。

 select A.ACTNUMST, sum(B.EXTDCOST) as [IV Total]
 from GL00105 A
 INNER JOIN SEE30303 B on A.ACTINDX = B.IVIVINDX
 group by A.ACTNUMST

 Results -
 Account No      IV Total
 2101-00-137     2033.60
 4101-00-137     83765.86
 6101-00-137     301984.23

第二查詢

 select A.ACTNUMST as [Account No], SUM(C.PERDBLNC) as [GL Total]
 from GL00105 A
 LEFT JOIN GL10110 C on A.ACTINDX = C.ACTINDX
 group by A.ACTNUMST

 Results -
 Account No      GL Total
 2101-00-137     2033.60
 4101-00-137     83765.86
 6101-00-137     302656.23

我希望能夠將兩個結果結合在一起進行比較,但是我相信它會重復GL總和中每一行的總和,然后再次對其求和,得出的數字很大,例如-

 select A.ACTNUMST as [Account No], sum(B.EXTDCOST) as [IV Total], SUM(C.PERDBLNC) as [GL Total]
 from GL00105 A
 INNER JOIN SEE30303 B on A.ACTINDX = B.IVIVINDX
 LEFT JOIN GL10110 C on A.ACTINDX = C.ACTINDX
 group by A.ACTNUMST

 Results -
 Account No      IV Total        GL Total
 2101-00-137     2033.60         14235.20
 4101-00-137     83765.86        116350696.20
 6101-00-137     301984.23       1612897825.84

什么時候應該

 Results -
 Account No      IV Total        GL Total
 2101-00-137     2033.60         2033.60
 4101-00-137     83765.86        83765.86
 6101-00-137     301984.23       302656.23

請告知如何使用求和功能以獲得正確的結果。

你想要這樣的東西嗎? 如果這不是預期的,請檢查並評論。

另外,請糾正所有語法錯誤。

SELECT T1.[Account No], T1.[IV Total], T2.[GL Total] FROM
(
    select A.ACTNUMST as [Account No], sum(B.EXTDCOST) as [IV Total]
    from GL00105 A
    INNER JOIN SEE30303 B on A.ACTINDX = B.IVIVINDX
    group by A.ACTNUMST
) T1
INNER JOIN
(
    select A.ACTNUMST as [Account No], SUM(C.PERDBLNC) as [GL Total]
    from GL00105 A
    LEFT JOIN GL10110 C on A.ACTINDX = C.ACTINDX
    group by A.ACTNUMST
) T2
ON T1.[Account No] = T2.[Account No]

希望這可以幫助

這也可以通過多個CTE完成

 with IVTotal as
 (
     select A.ACTNUMST, sum(B.EXTDCOST) as [IV Total]
     from   GL00105 A
     INNER  JOIN SEE30303 B 
     on     A.ACTINDX = B.IVIVINDX
     group  by A.ACTNUMST
 ),  
 GLTotal as 
 (
     select A.ACTNUMST as [Account No], SUM(C.PERDBLNC) as [GL Total]
     from   GL00105 A
     LEFT   JOIN GL10110 C 
     on     A.ACTINDX = C.ACTINDX
     group  by A.ACTNUMST
 )
 select a.*,b.[GL Total] 
 from   IVTotal a ,GLTotal b
 where  a.ACTNUMST =  b.aCTNUMST

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM