繁体   English   中英

在Sql中具有多个字段的联接表中,一个字段需要求和

[英]Joining table with multiple fields in Sql where one field needs to be summed

我有两个表:

表GL

TRANS_NBR     BASE_AMOUNT    CTRL GRP
 120211282    -7200          77
 120211282    -300           77
 120211282    -10000         76

表AP

TRANS_NBR   BASE_AMOUNT    CODE
 120211282  7500           Wire
 120211282  10000          ACH

我需要能够将“代码”列添加到GL表中,但是需要首先汇总金额。 有谁知道如何做到这一点? 谢谢

我已经从汤姆·英格拉姆(Tom Ingram)的答案中尝试过,

SELECT GLTRANS.REFERENCE, SUM(GLTRANS.BASE_AMOUNT) AS SUM_BASE_AMOUNT, CBCHECK.CODE 
FROM (      
SELECT GLTRANS.REFERENCE, GLTRANS.BASE_AMOUNT, CBCHECK.CODE         
FROM  LAWSON_PRODST.LAWSON.GLTRANS      
LEFT JOIN LAWSON_PRODTST.LAWSON.CBCHECK on CBCHECK.TRANS_NBR = GLTRANS.REFERENCE    
UNION       
SELECT GLTRANS.REFERENCE, GLTRANS.BASE_AMOUNT, CBCHECK.CODE         
FROM LAWSON_PRODTST.LAWSON.CBCHECK      
)       
GROUP BY GLTRANS.REFERENCE      

但是我在关键字“ group”附近收到“语法错误。”有人可以发现问题吗?谢谢

SELECT  TRANS_NBR,
        Base_Amount = SUM(Base_Amount),
        Code        = /*Your Logic Here */
  FROM  TABLE_GL
 GROUP BY TRANS_NBR

试试这个

select DTABLE.TRANS_MBR, DTABLE.SUM(BASE_AMOUNT) as DTABLE.SUM_BASE_AMOUNT, CODE
from (
    select TABLE_GL.TRANS_NBR, TABLE_GL.BASE_AMOUNT, TABLE_AP.CODE
    from TABLE_GL
    left join TABLE_AP on TABLE_AP.TRANS_NBR = TABLE_GL.TRANS_NBR
    union
    select TABLE_AP.TRANS_NBR, TABLE_AP.BASE_AMOUNT, TABLE_AP.CODE
    from TABLE_AP
) as DTABLE
group by TRANS_NBR

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM