多个表合并成一个大表

snlixing 2023-12-01 14:18:09

 

 多个表合并成一个大表显示,这个怎么写呢?

 

...全文
281 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-12-01
精选
  • 打赏
  • 举报
回复
您的问题已经帮您同步至问答, 链接: https://ask.csdn.net/questions/8038254, 请您保持关注, 如果回答有帮助解决此问题, 麻烦您动动小手给相关的回答点赞, Ada会在评论区为您更新结题状态
chengangcsdn 2023-12-01
  • 打赏
  • 举报
回复 2
with cte1 as
(
 select '2023-11-30' as cdate,'cn001' as orderno,'中文' as ctype,1 as id union all
 select '2023-12-01' as cdate,'cn002' as orderno,'中文' as ctype,2
),
 cte2 as
(
 select '2023-12-01' as cdate,'cn001' as orderno,'英文' as ctype,1 as id union all
 select '2023-12-01' as cdate,'cn002' as orderno,'英文' as ctype,2
),
 cte3 as
(
 select '2023-12-01' as cdate,'cn003' as orderno,'日文' as ctype ,1 as id
),
 cte4 as
(
 select '2023-12-01' as cdate,'cn001' as orderno,'法文' as ctype,1 as id union all
 select '2023-12-01' as cdate,'cn002' as orderno,'法文' as ctype,2
)
,cte5 as
(
  select cdate,  id from cte1 
  union 
 select cdate,   id from cte2 
   union 
 select cdate,  id from cte3 
   union 
 select cdate, id from cte4
)
select distinct b.*,c.*,d.*,e.* from cte5 a
left join cte1 b on a.cdate = b.cdate   and a.id = b.id 
left join cte2 c on a.cdate = c.cdate   and a.id = c.id 
left join cte3 d on a.cdate = d.cdate   and a.id = d.id 
left join cte4 e on a.cdate = e.cdate   and a.id = e.id 

img

  • 打赏
  • 举报
回复

SELECT a.field,b.field,c.field FROM *** as a INNER JOIN *** as b INNER JOIN *** as c;
然后根据日期排序

车马很远 2023-12-01
  • 打赏
  • 举报
回复

使用leftJOIN 然后group by日期

snlixing 2023-12-01
  • 举报
回复
@车马很远 leftjoin不行的,它是4个表连接

34,870

社区成员

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

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