-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathJSON.sql
29 lines (29 loc) · 1.29 KB
/
JSON.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
WITH
YOURTABLE
AS
(SELECT '1' ID, 'test' DESCRIPTION, '123' SESSION_UNIQUE_ID FROM DUAL
UNION ALL
SELECT '2' ID, 'test' DESCRIPTION, '123' SESSION_UNIQUE_ID FROM DUAL
UNION ALL
SELECT '3' ID, 'test' DESCRIPTION, '123' SESSION_UNIQUE_ID FROM DUAL
UNION ALL
SELECT '4' ID, 'test' DESCRIPTION, '124' SESSION_UNIQUE_ID FROM DUAL
UNION ALL
SELECT '5' ID, 'test' DESCRIPTION, '124' SESSION_UNIQUE_ID FROM DUAL
UNION ALL
SELECT '6' ID, 'test' DESCRIPTION, '124' SESSION_UNIQUE_ID FROM DUAL
UNION ALL
SELECT '7' ID, 'test' DESCRIPTION, '125' SESSION_UNIQUE_ID FROM DUAL
UNION ALL
SELECT '8' ID, 'test' DESCRIPTION, '125' SESSION_UNIQUE_ID FROM DUAL
UNION ALL
SELECT '9' ID, 'test' DESCRIPTION, '125' SESSION_UNIQUE_ID FROM DUAL)
SELECT JSON_ARRAYAGG (OBJ) YOURFINALJSON
FROM ( SELECT JSON_ARRAYAGG (OBJ) OBJ
FROM (SELECT JSON_OBJECT (
'id' VALUE ID,
'description' VALUE DESCRIPTION,
'session_unique_id' VALUE SESSION_UNIQUE_ID)
OBJ
FROM YOURTABLE) T
GROUP BY JSON_VALUE (T.OBJ, '$.session_unique_id')) T