I need some help on MySQL Query for UNION multiple Tables and group the result by ID and output the result in JSON_ARRAY. I have referred to this but I can't get the output as I want because my query need to UNION tables.
SELECT
JSON_ARRAYAGG(JSON_OBJECT(
'_CODE', a._CODE,
'_USERID', a._USERID,
'_NAME', c._NAME,
'HAHA',
(SELECT JSON_ARRAY(JSON_OBJECT(
'_CAT', b._CAT,
'_MODEL', b._MODEL,
'_SERIAL', b._SERIAL,
'_IPADDR', b._IPADDR,
'_OS', (SELECT _DESC
FROM kod_produk
WHERE _CODE = (SELECT _PROD
FROM inventori_dt3
WHERE _CODE = a._CODE
AND _CAT = '15'
AND _SERIAL = b._SERIAL)),
'_AV', (SELECT CONCAT(_DESC,
' (',
(CASE WHEN(SELECT _CODE
FROM inventori_dt3
WHERE _CODE = a._CODE
AND _CAT = '16'
AND _EXPY_DATE > NOW())
IS NOT NULL
THEN
'AKTIF'
ELSE
'TAMAT'
END), ')')
FROM kod_produk
WHERE _CODE = (SELECT _PROD
FROM inventori_dt3
WHERE _CODE = a._CODE
AND _CAT = '16'
AND _SERIAL = b._SERIAL))
)))
)) Z
FROM
inventori_mt a
LEFT JOIN
(
SELECT _CODE, _CAT, _MODEL, _SERIAL, _IPADDR FROM inventori_dt1
UNION ALL
SELECT _CODE, _CAT, _MODEL, _SERIAL, _IPADDR FROM inventori_dt2
) b ON a._CODE = b._CODE
LEFT JOIN
sys_pengguna c ON a._USERID = c._USERID
Pastebin
Expected Result
Actual Output Result
DB-Fiddle
Sample DB