Please suggest me a solution to a certain problem. I have two tables. One is stored on one server, and the other on another. And I need to combine their data on daily statistics once in a while. The tables are identical in fields and structure. But I don't know how to combine the jsonb fields into one array by grouping them by some fields (cash_register field and products->productName field) and calculating the total number. This is what the two tables look like. Please note that the only difference in data will be in column info. And these are the columns that need to be combined correctly. Please help me write such a query. My tables:
+-------------+------------+---------------------------------------------------+
| employee_id | date | info |
+-------------+------------+---------------------------------------------------+
| 2223eb0f0d0x| 01/09/2025 | [
{
"cash_register": 1,
"products": [
{
"productName": "name1",
"count": 2
},
{
"productName": "name2",
"count": 4
}
]
},
{
"cash_register": 4,
"products": [
{
"productName": "name8",
"count": 12
},
{
"productName": "name2",
"count": 4
}
]
}
] |
| 2223eb0f0d0x| 02/09/2025 | [
{
"cash_register": 1,
"products": [
{
"productName": "name1",
"count": 2
},
{
"productName": "name2",
"count": 4
}
]
},
{
"cash_register": 3,
"products": [
{
"productName": "name8",
"count": 12
},
{
"productName": "name2",
"count": 4
}
]
}
] |
| 2223eb0f0d0x| 03/09/2025 | [
{
"cash_register": 2,
"products": [
{
"productName": "name1",
"count": 2
},
{
"productName": "name2",
"count": 4
}
]
},
{
"cash_register": 4,
"products": [
{
"productName": "name8",
"count": 12
},
{
"productName": "name2",
"count": 4
}
]
}
] |
| 2223eb0f0d0x| 04/09/2025 | [
{
"cash_register": 1,
"products": [
{
"productName": "name1",
"count": 2
},
{
"productName": "name2",
"count": 4
}
]
},
{
"cash_register": 4,
"products": [
{
"productName": "name8",
"count": 12
},
{
"productName": "name2",
"count": 4
}
]
}
] |
+-------------+------------+----------------------------------------------------+
+-------------+------------+--------------------------------------------------+
| employee_id | date | info |
+-------------+------------+--------------------------------------------------+
| 2223eb0f0d0x| 01/09/2025 | [
{
"cash_register": 2,
"products": [
{
"productName": "name1",
"count": 2
},
{
"productName": "name2",
"count": 4
}
]
},
{
"cash_register": 4,
"products": [
{
"productName": "name8",
"count": 12
},
{
"productName": "name2",
"count": 4
}
]
}
] |
| 2223eb0f0d0x| 02/09/2025 | [
{
"cash_register": 1,
"products": [
{
"productName": "name1",
"count": 2
},
{
"productName": "name2",
"count": 4
}
]
},
{
"cash_register": 2,
"products": [
{
"productName": "name8",
"count": 12
},
{
"productName": "name2",
"count": 4
}
]
}
] |
| 2223eb0f0d0x| 03/09/2025 | [
{
"cash_register": 2,
"products": [
{
"productName": "name1",
"count": 2
},
{
"productName": "name2",
"count": 4
}
]
},
{
"cash_register": 3,
"products": [
{
"productName": "name8",
"count": 12
},
{
"productName": "name2",
"count": 4
}
]
}
] |
| 2223eb0f0d0x| 04/09/2025 | [
{
"cash_register": 1,
"products": [
{
"productName": "name1",
"count": 2
},
{
"productName": "name2",
"count": 4
}
]
},
{
"cash_register": 4,
"products": [
{
"productName": "name8",
"count": 12
},
{
"productName": "name2",
"count": 4
}
]
}
] |
+-------------+------------+----------------------------------------------------+
result table (I made an example for one day, for the rest of the days the algorithm is the same):
+-------------+------------+-------------------------------------------------+
| employee_id | date | info |
+-------------+------------+-------------------------------------------------+
| 2223eb0f0d0x| 01/09/2025 | [
{
"cash_register": 2,
"products": [
{
"productName": "name2",
"count": 4
},
{
"productName": "name1",
"count": 2
}
]
},
{
"cash_register": 4,
"products": [
{
"productName": "name8",
"count": 24
},
{
"productName": "name2",
"count": 8
}
]
},
{
"cash_register": 1,
"products": [
{
"productName": "name2",
"count": 4
},
{
"productName": "name1",
"count": 2
}
]
}
] |
+-------------+------------+-------------------------------------------------+
I am attaching a link to the query - https://dbfiddle.uk/KEAm-g4s