Lua_xiaolin 2022-10-12 20:49 采纳率: 40%
浏览 32
已结题

如何在一个结果上同时显示已下单和未下单

img


想要的结果是:
已下单 订单号 未下单 订单号

这union好废呀,我都起别名还直接组合在第一个列上。

  • 写回答

3条回答 默认 最新

  • leaf_cq 2022-10-13 09:48
    关注

    1、你union前的select语句明显关联有问题,customers和orders关联了两次,但只提供了一个关联条件,你的输出结果也是重复数据(这个是必然的),希望是你提问时精简语句的问题,而不是正式业务SQL的问题
    2、你可能对UNION的理解有误,UNION是两个同构集合的并集,即记录数相并(如果不加ALL会自动去重),而不是列相并,你要想列相并达到你想要的效果,就需要使用楼上所说的 CASE WHEN 等方式在SELECT中输出所有四个列,并且UNION也只能实现前两个字段为空或后两个字段为空的并集,类似:

    已下单订单号未下单订单号
    1000000120005
    1000000320007
    10000002NULL

    3、你只是说了想要结果的输出列,并未说明输出数据的样式,是上面的输出样式还是如下的输出样式呢?

    已下单订单号未下单订单号
    100000012000510000002NULL
    1000000320007

    4、通常,人们都是使用这样的输出样式

    客户ID订单号
    1000000120005
    10000002未下单
    1000000320007
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月13日
  • 已采纳回答 10月13日
  • 创建了问题 10月12日

悬赏问题

  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM