sql,表a和表b怎样通过sql生成表c的结果啊

image.png

SQL 杜杜dudu 发布于 2024-1-22 23:05
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
snrtuemcLv8专家互助
发布于2024-1-23 07:52(编辑于 2024-1-23 08:15)

select t.年份,t.分类,a.数值1,b.数值 2 from

(select distinct 年份,分类 form (select 年份,分类 from 表A union all select 年份,分类 from 表B)) t

left join 表A a on t. 年份=a.年份

left join 表B b on t. 年份=b.年份

===========

根据A,B表连接处不同年份,然后左连接

  • 杜杜dudu 杜杜dudu(提问者) 数值1和数值2怎样生产表C的效果呢
    2024-01-23 08:11 
  • snrtuemc snrtuemc 回复 杜杜dudu(提问者) 你按我这个sql,他是左连接,会产生C表结果的
    2024-01-23 08:13 
  • 杜杜dudu 杜杜dudu(提问者) 明白了,谢谢
    2024-01-23 08:40 
最佳回答
0
青春只因年少Lv6中级互助
发布于2024-1-23 08:03(编辑于 2024-1-23 08:04)

合并年度与分类两个字段并去重复数据,然后left join 两个表

with A as(

select 年份,分类 from 表A union all select 年份,分类 from 表B

),

b as( select distinct  * from a)

select b.年份,b.分类,c.数值1,d.数值2 from b 

left join 表A  c on  c. 年份=b.年份 and c. 分类=b.分类

left join 表   on  D. 年份=b.年份 and D. 分类=b.分类

最佳回答
0
XushuaisLv6初级互助
发布于2024-1-23 08:27(编辑于 2024-2-29 10:33)
  • 2关注人数
  • 369浏览人数
  • 最后回答于:2024-2-29 10:33
    请选择关闭问题的原因
    确定 取消
    返回顶部