按照你的意思,其实就是将两个结果集Union起来,没有值的话即为Null
如下:
select 时间,字段2,字段3,null as 字段4,null as 字段5
from a
union all
select 时间,null as 字段2,null as 字段3,字段4,字段5
from b
解释:因为表a没有字段4和字段5,那么直接置空
同理表b也是如此
如果两张表的各自查询都只有一行结果。想把两个查询的结果合并到一行。可以直接使用自然连接: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文本字符串。
看起来你应该是在ORACLE数据库中的吧?如果是在两个表的两个字段就用UNION ALL吧!
SELECT 字段1 AS AA FROM TABLE1
UNION ALL
SELECT TO_CHAR(字段2) AS AA FROM TABLE2
其中字段2为NUMBER的字段!
希望对你有帮助!
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中。
条件:A表有a1,a2,a3,c四个字段;B表有b1,b2,b3,c四个字段。
要求:SQL将2张表查询出来的相同字段合并显示在一个字段中
答案:select a from A as a,b from B as b where ac=bc
select from A where Aa = and Ab =
a字段和b字段
不用将两个字段的值合成一个。
如果非要这样的话,你是在外部程序传进来的值得话,建议你将那个值分开成两个。
如果不是的话,那就用视图。
将两个字段合成一个字段,然后产生一个新表,在这个表下查就好了
--假设B表只有2个字段(姓名,信息汇总),且姓名是关联条件
--合并更新表B
merge into 表B b
--使用表A
using 表A a
--通过[姓名]关联匹配
on (a姓名 = b姓名)
--能匹配到的
when matched then
update set 信息汇总 = a省份||a城市||a县区||a详细地址||','||a手机||'-'||a姓名
--不能匹配到的(可以不需要)
when not matched then
insert (姓名,信息汇总)
values (a姓名,a省份||a城市||a县区||a详细地址||','||a手机||'-'||a姓名);
以上就是关于请教SQL语句,两表合并查询,字段合并,应该怎么写全部的内容,包括:请教SQL语句,两表合并查询,字段合并,应该怎么写、SQL 语句合并查询,两张表字段一样、数据库里面以前记录的时候用的是VARCHAR2(32)的。现在记录的用的是number(12)查询时候两个怎么合并等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)