Mysql 发出sql查询以获取结果

Mysql 发出sql查询以获取结果,mysql,join,group-by,Mysql,Join,Group By,我在sql查询中遇到问题。这就是表结构的外观 场景是订单表中有订单详细信息(最初发货详细信息id为空),并且订单项目也相应地保存。发送订单时,驱动程序可以选择一个或多个订单。假设如果他选择了两个订单(“CC0-C1B-50B-63B”和“FB2-FC6-57B-DD8”),则会将一条新记录添加到shipping_details表中(因此在我们的情况下,位置数为2),并相应地将两条记录保存在Delivery_Place表中 我想要的:如果我选择订单号“CC0-C1B-50B-63B”,我想要获得

我在sql查询中遇到问题。这就是表结构的外观

场景是订单表中有订单详细信息(最初发货详细信息id为空),并且订单项目也相应地保存。发送订单时,驱动程序可以选择一个或多个订单。假设如果他选择了两个订单(“CC0-C1B-50B-63B”和“FB2-FC6-57B-DD8”),则会将一条新记录添加到shipping_details表中(因此在我们的情况下,位置数为2),并相应地将两条记录保存在Delivery_Place表中


我想要的:如果我选择订单号“CC0-C1B-50B-63B”,我想要获得所有的交货订单(在我们的案例中,还有另一个订单是“FB2-FC6-57B-DD8”,结果应该是这两个订单)以及这两个订单的orderd_items表中的部门ID。(如果一个订单中有多个项目,则所有项目都在同一个部门)

所以我尝试了这个查询

select  oi.FKOrderID,dp.deliveryPlaceID,dp.FKShippingDetailsID,dp.city,dp.position,oi.FKDepartmentID
  from 
 `order` o join `shipping_details` sd 
  on o.FKShippingDetailsID = sd.shippingDetailsID  
  join `ordered_items` oi 
  on o.orderID = oi.FKOrderID 
  join `delivery_places` dp 
  on dp.FKShippingDetailsID=sd.shippingDetailsID 
  where o.orderID = 'CC0-C1B-50B-63B'  
  group by dp.deliveryPlaceID
  order by dp.position asc ; 
结果是,

但对于第二行,我应该将“FB2-FC6-57B-DD8”作为FKOrderID,将“11”作为FKDepartmentID

这是数据表

使用输入数据更新

订单表

发货明细表

Ordered_items表(列:orderedItemsID、FKIMEDID、数量、大小、FKDepartmentID、FKOrderID)

部门表

那么,如何修改此查询以获得该结果呢


谢谢。

这就是我取得成绩的原因

select 
distinct(oi.FKOrderID),dp.deliveryPlaceID,dp.FKShippingDetailsID,dp.city,dp.longitude,dp.latitude,dp.timestamp,dp.position,dp.status,o.orderStatus,oi.FKDepartmentID
from 
`ordered_items` oi,
`order` o join `shipping_details` sd 
on o.FKShippingDetailsID = sd.shippingDetailsID  
join `delivery_places` dp 
on dp.FKShippingDetailsID=sd.shippingDetailsID  
where o.orderID = 'CC0-C1B-50B-63B'  
and
oi.FKOrderID in (select orderID from `order` where    
FKShippingDetailsID=o.FKShippingDetailsID)
group by oi.FKOrderID
order by dp.position asc  
这是结果


很抱歉,您是否介意为您的问题创建一个简单的版本……很难准确地确定您想要的是什么?您可以随意处理示例数据吗?我总是发现ER图很难阅读。张贴白板图片只会让事情变得更糟。如果我选择订单号“CC0-C1B-50B-63B”,我想获取所有的交货订单(在我们的…….停止…解释一下我想获取我所困惑的所有交货订单?@careen刚开始从查询中读取。对于复杂性,抱歉