| agreed that pivoting can be a pain. a pattern that i converged on --- at least in postgres --- is to aggregate your data into json objects and then go from there. you don't need to know how many attributes (columns) should be in the result of your pivot. you can also do this in reverse (pivot from wide to long) with the same technique. so for example if you have the schema `(obj_id, key, value)` in a long-formatted table, where an `obj_id` will have data spanning multiple rows, then you can issue a query like ```
SELECT obj_id, jsonb_object_agg(key, value) FROM table GROUP BY obj_id;
``` up to actual syntax...it's been awhile since i've had to do a task requiring this, so details are fuzzy but pattern's there. so each row in your query result would look like a json document: `(obj_id, `{"key1": "value", "key2": "value", ...})` see https://www.postgresql.org/docs/current/functions-json.html for more goodies. |