如何将三个查询的结果合并到一个数据集中?交叉申请或加入?
create table tbl_A
(
Dept varchar(5),
DocCountA int
);
create table tbl_b
(
Dept varchar(5),
DocCountB int
);
create table tbl_c
(
Dept varchar(5),
DocCountC int
);
insert into tbl_A
values ('XX',12),('YY',14),('ZZ',16)
insert into tbl_b
values ('XX',20),('YY',25),('ZZ',27)
insert into tbl_c
values ('XX',30),('YY',35)
select * from tbl_A
select * from tbl_B
select * from tbl_C
**tbl_A**
Dept DocCountA
XX 12
YY 14
ZZ 16
**tbl_B**
Dept DocCountB
XX 20
YY 25
ZZ 27
**tbl_C**
Dept DocCountC
XX 30
YY 35
结果
Dept DocCountA DocCountB DocCountC
XX
YY
ZZ
表C有两个结果ZZ将为空白
这可以使用两个查询 三个会很棒!
从tbl_A中选择* A
交叉申请
(
从tbl_b B中选择B.DocCountB
其中B.Dept = A.Dept
)sod
答案 0 :(得分:2)
每个表上的左连接将允许您获取所有3个部门及其存在的计数。
select
a.dept, DocCountA, DocCountB, DocCountC
from
tbl_a a
left join tbl_b b on a.dept = b.dept
left join tbl_c c on a.dept = c.dept