发出 sql 查询以获取结果

Issue with sql query to get the results

我的 sql 查询有问题。这就是 table 结构的样子。

场景是订单中有订单详情table(最初发货详情id为空)并且订单商品也相应保存。发送订单时,driver 可以 select 一个或多个订单。假设如果他 select 的两个订单('CC0-C1B-50B-63B' 和 'FB2-FC6-57B-DD8')一条新记录被添加到 shipping_details table(所以位置数是 2 in我们的案例)和两条记录相应地保存在 Delivery_Place table 中。

我想要的:如果我 select 没有 'CC0-C1B-50B-63B' 的订单,我想得到所有的交货订单(在我们的例子中还有另一个订单是 'FB2-FC6-57B-DD8' 和结果应该是那 2 个订单)和 orderd_items table 中这 2 个订单的 departmentID。 (如果一个订单有多个项目,所有项目都在同一个部门)

所以我尝试了这个查询,

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。

这是数据table

更新了输入数据

订单Table

送货详情Table

Ordered_items table(列:orderedItemsID、FKItemID、数量、大小、FKDepartmentID、FKOrderID)

部门Table

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

谢谢。

这就是我取得结果的方式,

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  

这是结果,