SQL如何合并多个查询结果

SQL如何合并多个查询结果,第1张

1.两个不同的表进行查询,需要把结果合并,

比如table1的列为 id, user_id, type_id,pro_id;

table2的列为 id,user_id,collect_id;分别如下图所示

table1:

table2:

2.将两个表的查询结果合并到一起的查询语句为

select *, null as collect_id from table1 where user_id = 527

union

select id,user_id,null as type_id,null as pro_id, collect_id from table2 where user_id = 527

3.结果为:

总结:其实就是把对应的列补充到没有该列的表中,在例子中就是把collect_id补充到table1中,

把type_id,pro_id补充到table2中。

access : 表.select 字段a &表.字段B as 字段x from 表;

Oracle: 表.select 字段a || 表.字段B 字段x from 表;

如果两张表的各自查询都只有一行结果。想把两个查询的结果合并到一行。可以直接使用自然连接:select

aa.*

,

bb.*

from

(select

*

from

a)

as

aa

,

(select

*

from

b)

as

bb

其中

(select

*

from

a)

和(select

*

from

b)是你的两张表的查询,结果各自只有一行。

如果说,你的意思是每张表查询出来的结果都有多行。你需要这多行最后全部显示为一行内容。可能你需要使用

select

*

from

a

for

xml

path('')

来将每个查询的多行结果转换为一行xml文本字符串。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10863623.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存