我有以下一系列的表格
Items - contains all items
Purchase_order - 1:m purchased_items
purchased_items - 1:m receipts
receipts - 1:m received_items
recieved_items - 1:m shipments
shipments - 1:m shipped items
我需要列出所有采购订单的全部详细信息,因为采购订单包含采购项目,而采购项目又会有多行收据等等。但是所有的采购订单可能没有收据,收据可能没有采购订单的所有项目,所以我尝试使用 LEFT JOIN
从开始 purchase_order
按上述顺序移动。问题是 purchase_order
6个项目将产生6个副本 receipt
每一个都会产生多个副本 received_items
行等等。。。
我知道分组解决不了这个问题,请给我指出正确的方向。
采购订单:
id | name
----------
1 | po1
采购项目
id | purchase_order_id | item_id
--------------------------------
1 | 1 | 1
2 | 1 | 4
3 | 1 | 5
4 | 1 | 6
收据
id | name | purchase_order_id
------------------------------
1 | rc01 | 1
2 | rc02 | 1
收到的\u项
id | receipt_id | item_id
--------------------------------
1 | 1 | 1
2 | 1 | 4
3 | 2 | 5
4 | 2 | 6
装运
id | name | receipt_id
------------------------------
1 | shp01 | 1
2 | shp02 | 1
3 | shp03 | 2
4 | shp04 | 2
已装运的物品
id | shipment_id | item_id
--------------------------------
1 | 1 | 1
2 | 2 | 4
3 | 3 | 5
4 | 4 | 6
预期产量
purchase_order_item | purchase_order | receipt | shipment
----------------------------------------------------------
1 | po1 | rc01 | shp01
2 | po1 | rc01 | shp02
3 | po1 | rc02 | shp03
4 | po1 | rc02 | shp04
暂无答案!
目前还没有任何答案,快来回答吧!