[英]Joining table with multiple fields in Sql where one field needs to be summed
我有两个表:
TRANS_NBR BASE_AMOUNT CTRL GRP
120211282 -7200 77
120211282 -300 77
120211282 -10000 76
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.