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 表;
如果两张表的各自查询都只有一行结果。想把两个查询的结果合并到一行。可以直接使用自然连接:selectaa.*
,
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文本字符串。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)