java 一个查询的问题

现在我有一个场景,我的一个订单会有几种不同类型的客户(委托方,发货方;..)。
之前是这些客户都存到order表里的,现在我想把这些客户都抽离出来,放一个新的表里。通过order_id关联order表

clipboard.png
现在我遇到的问题是。我列表查询,发货方是条件,委托方是列表里要显示的,即:
当我委托方不存在的时候,我的订单(+发货方的)显示。当我的委托方不存在,我的订单(+发货方)不显示。
之前存储order_customer是一个集合,再便利获取发货方,set到orderDTO里的
clipboard.png

clipboard.png

现在我该怎么写呢?

阅读 1.2k
1 个回答
当我委托方不存在的时候,我的订单(+发货方的)显示。当我的委托方不存在,我的订单(+发货方)不显示。

这段话没太懂,“(+发货方的)”是什么意思呢,不存在的时候到底是显示还是不显示?


根据发货方信息查询订单及委托方信息的话大概是如下这种结构,请自行将o.columnsc1.name和查询条件替换成需要的字段并起别名, 注意order是sql关键字

select o.columns, c1.name from `order` o LEFT JOIN order_customer c1 ON o.order_id = c1.order_id AND c1.type = '委托方' LEFT JOIN order_customer c2 ON o.order_id = c2.order_id AND c2.type = '发货方' where c2.name like ?
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题