weixin_39472492
weixin_39472492
采纳率83.3%
2020-05-06 16:15

请教:sql 中 union 与 join 的顺序

40
已采纳

有三个表:

产品A:型号 名称 单价

产品B:型号 名称 单价

销售记录表:日期 型号 销售额

希望得到的结果表:型号 名称 单价 销售总量

并按型号进行排序

是先union还是先left join?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 1年前

    应该先a b作union,得到左边,再left join销售记录,得到完整的表
    不过你的数据结构有点奇怪,最好是产品表,型号 名称 单价 类型,把a b合并成一个表,a表的类型叫做a,b表的类型叫做b

    点赞 1 评论 复制链接分享
  • lyangl210152 大宝lyangl 1年前

    order by 在group by 后面使用

    点赞 评论 复制链接分享
  • zzhilling zzhilling 1年前

    ;with cet as(
    select 型号, 名称, 单价 from 产品A
    union
    select 型号,名称, 单价 from 产品b

    ),cet2 as(
    select 型号,,sum( 销售额)销售总量 from 销售记录表 group by
    )
    select a.型号,a.名称,a.单价,b.销售总量
    from cet a
    left join cet2 b on b.型号=a.型号

    点赞 评论 复制链接分享
  • qq_36963762 一个超赞的名字 1年前

    两种都可以实现吧,写法有点不一样而已

    点赞 评论 复制链接分享

相关推荐