两张表分别统计了一些数据,虽然字段不同,但是存储的是一个类型的数据。两张表的结果可以按月汇总在一起么

SELECT *

FROM "_SYS_BIC"."CB.AL.YW/ZAL_WEAVINGCOST"        A表

UNION ALL 

SELECT * FROM "_SYS_BIC"."BS_POS_WEAVINGCOST"    B表

 

A表和B表都有的字段:部门,人员,年月,金额。 (但是字段名不一样)

A表的部门:ZICZG0010 ; 

         人员:ZICZE0000 ; 

         年月: CALMONTH ;

         金额:ZWEAVINGCOST .

B表的部门:BM; 

         人员:ZZH; 

         年月: DATE;

         金额:TQJE.

可以将两张表的结果可以按月汇总在一起么?

以年月、人员、部门为维度结算出汇总的金额

FineReport rbk333 发布于 2022-8-24 15:47
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
snrtuemcLv8专家互助
发布于2022-8-24 15:52

select BM,ZZH,DATE,sum(TQJE) as ZJE from

(SELECT ZICZG0010 as BM,ZICZE0000 as ZZH,CALMONTH as DATE,ZWEAVINGCOST as TQJE

FROM "_SYS_BIC"."CB.AL.YW/ZAL_WEAVINGCOST"  

UNION ALL 

SELECT BM,ZZH,DATE,TQJE FROM "_SYS_BIC"."BS_POS_WEAVINGCOST" )

group by BM,ZZH,DATE

最佳回答
0
runerLv7资深互助
发布于2022-8-24 15:50(编辑于 2022-8-24 15:51)

可以,但是你得处理将字段的别名起一致了

A表的部门:ZICZG0010 as BM  ; 

         人员:ZICZE0000 as ZZH

         年月: CALMONTH  as DATE ;

         金额:ZWEAVINGCOST as TQJE .

B表的部门:BM; 

         人员:ZZH; 

         年月: DATE;

         金额:TQJE.

最佳回答
0
yzm339714Lv6中级互助
发布于2022-8-24 15:51

可以啊,就先按你的那样写,上下合并,之后的结果集就是用的 A表的字段名,然后再进行group by 分组汇总就好了

最佳回答
0
zhaolLv4见习互助
发布于2022-8-24 15:52

select sum(ZWEAVINGCOST ) , ZICZG0010,ZICZE0000,CALMONTH    from (

SELECT *

FROM "_SYS_BIC"."CB.AL.YW/ZAL_WEAVINGCOST"        A表

UNION ALL 

SELECT * FROM "_SYS_BIC"."BS_POS_WEAVINGCOST" 

)group by CALMONTH ,ZICZG0010,ZICZE0000;

字段不取别名的话一般默认取的是第一个的字段名

  • 5关注人数
  • 305浏览人数
  • 最后回答于:2022-8-24 15:52
    请选择关闭问题的原因
    确定 取消
    返回顶部