首页 新闻 赞助 找找看

将SQL查询结果合并

0
[已解决问题] 解决于 2016-12-02 14:12

现在有两个SQL语句,并且两个语句查询的结果列数不同,现在要将两个结果合并为一个,如何实现?比如 表A,里面的字段有a1,a2,a3,表B里的字段有b1,b2,现在想得到的结果是a1,a2,a3,b1,b2,这个SQL如何实现??

gyangjing的主页 gyangjing | 初学一级 | 园豆:4
提问于:2016-08-04 14:27
< >
分享
最佳答案
0

使用cross join

declare @p table(a1 int,a2 int)
declare @t table(c1 char(1),c2 char(1),c3 char(3))

insert into @p
values(1,2),(2,3)

insert into @t 
values('a','b','c')

select *
from @p
cross join @t 

奖励园豆:5
悦光阴 | 老鸟四级 |园豆:2251 | 2016-08-20 17:58

cross 这是个什么东东??

gyangjing | 园豆:4 (初学一级) | 2016-08-23 17:10

@gyangjing:  交叉连接,用于计算两个结果集的笛卡尔乘积

悦光阴 | 园豆:2251 (老鸟四级) | 2016-08-23 17:15
其他回答(5)
0

使用join呗

刘宏玺 | 园豆:14020 (专家六级) | 2016-08-04 14:37
0

select * from A union select * from B,但 union 會要求兩個表的欄位數量要相同,所以缺的要用 NULL 來填。

WulTea | 园豆:114 (初学一级) | 2016-08-04 14:43
0

wm_concat、多行变列问题

Ctrl` | 园豆:3317 (老鸟四级) | 2016-08-04 15:28
0
爱编程的大叔 | 园豆:30839 (高人七级) | 2016-08-04 15:33
0

用union可以,注意用union的时候要保证字段的个数都要相同,像你说的这个,最简单的,只需要用null或者

引号  代替即可。select a1,a2,a3 from A  union select b1,b2, ' ' from B

代码飞了 | 园豆:470 (菜鸟二级) | 2016-08-04 16:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册