Сложное соединение двух таблиц - столбцы представляют собой сгруппированные значения из второй таблицы
Итак, я пытаюсь сделать что-то вроде pivot (?) таблицы для моего проекта django, но безуспешно - подробности:
Первая таблица - 'keyword':
| id | name | fk_project_id |
| -------- | -------------- |-------------------|
| 1 | stack | 1 |
| 2 | overflow | 1 |
Вторая таблица - 'position':
| id | fk_keyword_id | rank |date_created| region |
| -------- | ----------------|--------|------------|--------|
| 1 | 1 | 22 |2021-01-01 | UK |
| 2 | 1 | 44 |2021-01-02 | UK |
| 3 | 1 | 55 |2021-01-02 | FR |
| 4 | 2 | 11 |2021-01-01 | FR |
| 4 | 2 | 22 |2021-01-02 | FR |
Я хочу объединить эти таблицы в одну, где первым столбцом будет keyword.name, а все остальные будут создаваться динамически на основе значений 'date_created' и 'region' из второй таблицы, чтобы получилось что-то вроде этого:
| keyword_name| UK,2021-01-01 | UK,2021-01-02|FR,2021-01-01|FR,2021-01-02|
| ----------- | ----------------|----------------|-------------|-------------|
| stack | 22 | 44 | 55 | null |
| overflow | null | null | 11 | 22 |
Я использую django с postgresql, так что я могу получить все необходимые имена столбцов перед тем, как сделать запрос (с отдельным запросом), и могу создать строку запроса с помощью цикла, но я не очень хорошо разбираюсь в sql и не знаю с чего начать - django orm обычно более чем достаточно для моих нужд, и я пытаюсь сделать это с помощью django's orm, но мой comlex queryset не работает правильно, когда я пытаюсь упорядочить данные по столбцам ( вот мой одинокий вопрос об этом).
Возможно ли это с помощью необработанного SQL?
И есть ли правильный (или единственный) способ сделать это?
Буду благодарен за любую помощь, направление, что угодно!