@karimabdelrazek Sorry for the delay in getting back to you. I've been in workshops the last couple of weeks. Hopefully this is what you're looking for. It will give you the JSON as per the previous post.
See full flow below. I'll go into each of the actions.

Data (Compose) contains your original JSON data.

Select Base (Select) maps the properties, excluding the SHIDinSelect, using the following expressions.
//EmaininSelect
item()?['EmailinSelect']
//MainOrgIDinSelect
item()?['MainOrgIDinSelect']

XML (Compose) uses the output from Data and transforms it into XML so we can use XPath in the next action. The expression used is:
xml(json(concat('{"root": { value:', outputs('Data'), '}}')))

Select (Select) uses the following expressions to get the unique objects from Select Base. It then uses Map to getthe current items and adds a new property that contains an array of all the related SHIDinSelect values.
//From
union(body('Select_Base'), body('Select_Base'))
//Map
addProperty(item(), 'SHIDinSelect', xpath(outputs('XML'), concat('//root/value[EmailinSelect="', item()?['EmailinSelect'], '" and MainOrgIDinSelect="', item()?['MainOrgIDinSelect'], '"]/SHIDinSelect/text()')))

After running the flow, Select would have the following output.
[
{
"EmailinSelect": "Maria.Conner@fakecorp.com",
"MainOrgIDinSelect": "Org-ID-1075",
"SHIDinSelect": [
"SH-ID-0657",
"SH-ID-0660"
]
},
{
"EmailinSelect": "Ruth.Guercio@fakecorp.com",
"MainOrgIDinSelect": "Org-ID-1075",
"SHIDinSelect": [
"SH-ID-0659"
]
},
{
"EmailinSelect": "Calvin.Rigdon@fakecorp.com",
"MainOrgIDinSelect": "Org-ID-1075",
"SHIDinSelect": [
"SH-ID-0658",
"SH-ID-0661"
]
}
]
----------------------------------------------------------------------
If I've answered your question, please mark the post as Solved.
If you like my response, please consider giving it a Thumbs Up.