By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE
INSERT 0 7
| product_id | level | typology |
|---|---|---|
| 3567ae01-c7b3-4cd7-9e4f-85730aab89ee | 1 | {"mechanical": ["gear wrong dimensions"]} |
| e1227f18-0c1f-4ebb-8cbf-a09c74ba14f5 | 1 | {"electronic": ["LED broken"]} |
| e1227f18-0c1f-4ebb-8cbf-a09c74ba14f5 | 2 | {"electric": ["switch wrong color", "plug wrong type"]} |
| e1227f18-0c1f-4ebb-8cbf-a09c74ba14f5 | 1 | {"mechanical": ["missing gear", "cover damaged"]} |
| e1227f18-0c1f-4ebb-8cbf-a09c74ba14f5 | 2 | {"mechanical": ["missing o-ring"]} |
SELECT 5
| product_id | level | typology | key | value |
|---|---|---|---|---|
| 3567ae01-c7b3-4cd7-9e4f-85730aab89ee | 1 | {"mechanical": ["gear wrong dimensions"]} | mechanical | ["gear wrong dimensions"] |
| e1227f18-0c1f-4ebb-8cbf-a09c74ba14f5 | 1 | {"electronic": ["LED broken"]} | electronic | ["LED broken"] |
| e1227f18-0c1f-4ebb-8cbf-a09c74ba14f5 | 2 | {"electric": ["switch wrong color", "plug wrong type"]} | electric | ["switch wrong color", "plug wrong type"] |
| e1227f18-0c1f-4ebb-8cbf-a09c74ba14f5 | 1 | {"mechanical": ["missing gear", "cover damaged"]} | mechanical | ["missing gear", "cover damaged"] |
| e1227f18-0c1f-4ebb-8cbf-a09c74ba14f5 | 2 | {"mechanical": ["missing o-ring"]} | mechanical | ["missing o-ring"] |
SELECT 5
| product_id | level |
|---|---|
| e1227f18-0c1f-4ebb-8cbf-a09c74ba14f5 | {"2": {"electric": ["switch wrong color", "plug wrong type"], "mechanical": ["missing o-ring"]}} |
| e1227f18-0c1f-4ebb-8cbf-a09c74ba14f5 | {"1": {"electronic": ["LED broken"], "mechanical": ["missing gear", "cover damaged"]}} |
| 3567ae01-c7b3-4cd7-9e4f-85730aab89ee | {"1": {"mechanical": ["gear wrong dimensions"]}} |
SELECT 3
| product_id | level | key | value |
|---|---|---|---|
| e1227f18-0c1f-4ebb-8cbf-a09c74ba14f5 | {"2": {"electric": ["switch wrong color", "plug wrong type"], "mechanical": ["missing o-ring"]}} | 2 | {"electric": ["switch wrong color", "plug wrong type"], "mechanical": ["missing o-ring"]} |
| e1227f18-0c1f-4ebb-8cbf-a09c74ba14f5 | {"1": {"electronic": ["LED broken"], "mechanical": ["missing gear", "cover damaged"]}} | 1 | {"electronic": ["LED broken"], "mechanical": ["missing gear", "cover damaged"]} |
| 3567ae01-c7b3-4cd7-9e4f-85730aab89ee | {"1": {"mechanical": ["gear wrong dimensions"]}} | 1 | {"mechanical": ["gear wrong dimensions"]} |
SELECT 3
| jsonb_build_object |
|---|
| {"e1227f18-0c1f-4ebb-8cbf-a09c74ba14f5": {"1": {"electronic": ["LED broken"], "mechanical": ["missing gear", "cover damaged"]}, "2": {"electric": ["switch wrong color", "plug wrong type"], "mechanical": ["missing o-ring"]}}} |
| {"3567ae01-c7b3-4cd7-9e4f-85730aab89ee": {"1": {"mechanical": ["gear wrong dimensions"]}}} |
SELECT 2
| jsonb_object_agg |
|---|
| {"3567ae01-c7b3-4cd7-9e4f-85730aab89ee": {"1": {"mechanical": ["gear wrong dimensions"]}}, "e1227f18-0c1f-4ebb-8cbf-a09c74ba14f5": {"1": {"electronic": ["LED broken"], "mechanical": ["missing gear", "cover damaged"]}, "2": {"electric": ["switch wrong color", "plug wrong type"], "mechanical": ["missing o-ring"]}}} |
SELECT 1