Filtering based on multiple arrays - Advanced

I need to filter out all requisitions and orderlines where Requisitions.OrderLines.RequisitionItemNumber = PurchaseOrderNumber.OrderLines.RequisitionItemNumber

is it possible using a minimum of iterators?

This json

[
    {
        "data": {
            "Requisitions": [
                {
                    "RequisitionNumber": "REQ-1",
                    "Description": "Computer",
                    "OrderLines": [
                        {
                            "RequisitionItemNumber": "100",
                            "Quantity": 1,
                            "Price": 50,
                            "Discount": 0
                        },
                        {
                            "RequisitionItemNumber": "200",
                            "Quantity": 1,
                            "Price": 60,
                            "Discount": 0
                        }
                    ]
                }
            ],
            "PurchaseOrders": [
                {
                    "PurchaseOrderNumber": "PO-1",
                    "FreightPrice": 50,
                    "OrderLines": [
                        {
                            "RequisitionItemNumber": "100"
                        },
                        {
                            "RequisitionItemNumber": "300"
                        }
                    ]
                }
            ]
        }
    }
]

Should filter and return this:
(could return more than one requisition and/or orderlines)

{
	"Requisitions": [
	{
		"RequisitionNumber": "REQ-1",
		"Description": "Computer",
		"OrderLines": [
			{
				"RequisitionItemNumber": "100",
				"Quantity": 1,
				"Price": 50,
				"Discount": 0
			}
	}
}

because
Requisitions.OrderLines.RequisitionItemNumber = 100 and
PurchaseOrderNumber.OrderLines.RequisitionItemNumber = 100

2 Likes