I have the following SQL Server select query:
SELECT s.RefId
,s.LocalId
,s.StateProvinceId
,s.SchoolName
,e.Email
,e.EmailType
FROM SchoolInfo s
LEFT OUTER JOIN SchoolEmail e
ON e.SchoolRefId = s.RefId
WHERE s.RefId = :ref_id
Converted to JSON in DataWeave:
%dw 2.0
output application/json
---
payload
Output:
[
{
"StateProvinceId": "SA",
"RefId": "7FDF722B-6BBA-4BF0-8205-A5380B269EF1",
"EmailType": "prm",
"LocalId": "1",
"SchoolName": "Steve's School",
"Email": "[email protected]"
},
{
"StateProvinceId": "SA",
"RefId": "7FDF722B-6BBA-4BF0-8205-A5380B269EF1",
"EmailType": "sec",
"LocalId": "1",
"SchoolName": "Steve's School",
"Email": "[email protected]"
}
]
But I wish to have it merged by the common elements to generate the desired output of:
{
"RefId": "7FDF722B-6BBA-4BF0-8205-A5380B269EF1",
"LocalId": "1",
"StateProvinceId": "SA",
"SchoolName": "Steve's School",
"Emails": [
{
"Email": "[email protected]",
"EmailType": "prm"
},
{
"Email": "[email protected]",
"EmailType": "sec"
}
]
}
How can I do that in Mule 4?
Thanks, Steve