关于 MySQL 查询,如何获取属于另一个表中条目组合的所有表条目?
背景:我想计算由订单项组成的订单。每个订单项目都具有“已取消”或“已交付”等状态。有部分交货,因此可以在一个订单中同时存在已交付和已取消的订单。我想计算净订单,我想知道有多少订单有多个项目状态的项目。
Order Number | Order Item | Status
X0001 | Item | delivered
X0001 | Item | delivered
X0002 | Item | delivered
X0002 | Item | canceled
X0002 | Item | delivered
X0003 | Item | delivered
我在这里有 3 个有效订单和一个已交付/已取消的订单。我如何询问所有至少有一件已交付和一件已取消商品的订单?
由于我对 MySQL 很陌生,我基本上是在寻找正确的方法。我需要子查询或关节吗?
编辑:首先,很抱歉回复晚了。再次抱歉,因为我的问题显然具有误导性。
涉及三个表:“order”、“order_item”和“order_item_status”。
'order' 和 'order_item' 通过 'order_item.fk_order' 和 'order.id_order' 链接。
'order_item' 和 'order_item_status' 通过 'order_item.fk_order_item_status' 和 'order_item_status.id_order_item_status' 链接。
到目前为止,你一直很有帮助,但我仍然有点卡住,因为我不知道如何最终通过组合计数。完美的结果是这样的:
{shipped} | 34
{canceled} | 12
{shipped, canceled} | 8
{closed, canceled} | 4
{closed} | 27
... | ...
但我不知道如何处理查询中的组合。也许你对我有一些更有用的提示......
非常感谢。