Не существует единого синтаксиса, который будет таким образом поворачивать эти данные.
Язык SQL (для любой базы данных) имеет твердое требование , чтобы вы знали число и тип каждого столбца в результатах во время компиляции запроса . Это необходимо для того, чтобы ядро базы данных определяло правильные разрешения и вычисляло план выполнения. Даже SELECT *
запросы удовлетворяют этому требованию, так как количество и типы столбцов в таблицах, используемых запросом, являются фиксированными и известными (по крайней мере, в течение жизни одного запроса).
То, что этот вопрос просит сделать, нарушает это требование. Заголовки столбцов определяются данными, и, следовательно, ядро базы данных не может знать, сколько столбцов ему нужно для результатов, пока после запрос не начнет выполняться.
Единственный способ обойти это - разбить запрос на три отдельных шага:
- Выполните более простой запрос, чтобы определить заголовки столбцов для окончательных результатов.
- Использование результатов # 1 для создания новой строки SQL на лету
- Выполните запрос из # 2 и верните его результаты пользователю.