Моя таблица выглядит следующим образом (с 250 стран, перечисленных в разделе «id_country» и 50 лет под «год»):Как кросс-таблицы таблицы с множеством записей в Postgres?
id_country year value
4 2000 5
4 2001 6
4 2002 4
4 2003 8
8 2000 7
8 2001 6
8 2002 9
8 2003 3
12 2000 6
12 2001 4
12 2002 7
12 2003 5
И я хотел бы, чтобы преобразовать это с помощью запроса в этот
4 8 12 16 ...
2000 5 7
2001 6
2003 4
2004 8
...
Я сделал что-то подобное с PHP через петли, но это было немного странно. Интересно, есть ли более прямой и плавный, Postgres-SQL-способ сделать это. Возможно, это невозможно без функции Postgres? К сожалению, я не являюсь таким экспертом.
Таблицы сопряженности сложны по своей природе в SQL, так как это не так, как SQL работает. Число столбцов запроса должно быть известно ** перед **, запрос выполняется. Таким образом, лучший способ сделать кросс-таблицы - это уровень приложения. –