SQL语句-两表数据合并后和第三张表连接

0
实际工作中是这样的,有两张业务数据表和一张组织架构表,我需要将两张业务数据表中的数据线合并,然后再与匹配上对应的组织信心,最终在SSRS中生成这样的报表:

a.png

我的SQL是这样写的:
select
    zz.事业部,
    zz.区域, 
    sx.理财中心,
    sx.出借金额
from 生效 as sx
inner join 组织架构 as zz
on zz.理财中心=sx.理财中心

union all

select
    zz.事业部,
    zz.区域, 
    xq.理财中心,
    xq.金额
from 续期 as xq
inner join 组织架构 as zz
on zz.理财中心=xq.理财中心
 
我看别人写的类似代码都是要创建临时表啥的,有哪位帮我优化一下?
 
实际上我需要两个总计栏,一个是含渠道的,一个是不含渠道的,这样的SQL该如何写呢?还是在SSRS中就可以实现?、
 
以上两个问题,还请各位不吝赐教,谢谢~
已邀请:
0

- 取是能力,舍是境界 2016-03-29 回答

首先SQL的优化可以先生效和续期union all之后再和组织架构连接。
 
你说要两个总计栏这两个总计栏是在最下面连续两个,还是在渠道上面再显示一个总计。你看下这个博客能否帮助到你http://www.flybi.net/blog/lovezsr/2158
 
 
WITH    tmp
AS ( SELECT sx.理财中心
, sx.出借金额
FROM 生效 AS sx
UNION ALL
SELECT xq.理财中心
, xq.金额
FROM 续期 AS xq
)
SELECT zz.事业部
, zz.区域
, tmp.理财中心
, tmp.金额
FROM tmp
INNER JOIN 组织架构 AS zz ON zz.理财中心 = tmp.理财中心;
0

Cindy_水 - Cognos讲师、Cognos独立顾问 2016-03-31 回答

上图中的合计是怎么加上去的,直接选中合计组内部插入行,要显示的度量也是单个文本框可以编辑的,渠道也好,非渠道也好,只要数据集中有结果,直接用就可以

要回复问题请先登录注册