求解这样的SQL应该如何写

下载一定要设昵称 2015-03-09 05:21:38
表A
UID 字段1 时间
1001 XXXX 2012-12-11
1002 XXXX2 2012-12-10
表B
UID 字段2 时间
1001 YYYY 2013-12-11
1002 YYYY2 2013-12-10

我怎么合并成一张表,表的格式如下
UID 字段1 字段2 时间
1001 XXXX null 2012-12-11
1002 XXXX2 2012-12-10
1001 null YYYY 2013-12-11
1002 null YYYY2 2013-12-10

实际使用场景到时候会根据Uid和实际排序来展示
...全文
262 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
guojun17 2015-03-10
  • 打赏
  • 举报
回复
select UID,字段1,null '字段2',时间 from 表A union all select UID,null 字段1,字段2,时间 from 表B 这样就可以了
唐诗三百首 2015-03-09
  • 打赏
  • 举报
回复

create table 表A
(UID int,字段1 varchar(10),时间 varchar(12))

insert into 表A
 select 1001,'XXXX','2012-12-11' union all
 select 1002,'XXXX2','2012-12-10'
 
create table 表B
(UID int,字段2 varchar(10),时间 varchar(12))

insert into 表B
 select 1001,'YYYY','2013-12-11' union all
 select 1002,'YYYY2','2013-12-10'
 
 
select UID,字段1,null '字段2',时间 from 表A
union all
select UID,null '字段1',字段2,时间 from 表B

/*
UID         字段1        字段2        时间
----------- ---------- ---------- ------------
1001        XXXX       NULL       2012-12-11
1002        XXXX2      NULL       2012-12-10
1001        NULL       YYYY       2013-12-11
1002        NULL       YYYY2      2013-12-10

(4 行受影响)
*/
还在加载中灬 2015-03-09
  • 打赏
  • 举报
回复
SELECT UID,字段1,NULL AS[字段2],时间 FROM 表A
UNION ALL
SELECT UID,NULL AS[字段1],字段2,时间 FROM 表B
stephen0126 2015-03-09
  • 打赏
  • 举报
回复
select UID, 字段1, 时间 from 表A union all select UID,字段2, 时间 from 表B order by UID
卖水果的net 版主 2015-03-09
  • 打赏
  • 举报
回复
-- 大概如下。
select  UID ,    字段1  , ' '  as 字段2,   时间 from 表A
union all
select UID   , '' as 字段1 ,   字段2  ,  时间 from 表B

hilex_jay 2015-03-09
  • 打赏
  • 举报
回复
select UID, 字段1, 时间 from 表A union all select UID,字段2, 时间 from 表B order by UID

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧