Многое, как эти вопросы:
MSSQL Create Temporary Table whose columns names are obtained from row values of another tableOracle Временные столбцы таблицы и данные из строк другой таблицы
Create a table with column names derived from row values of another table
мне нужно сделать то же самое с Oracle, но я также необходимо заполнить эту новую таблицу данные из другой таблицы, которые организованы определенным образом. Пример:
Таблица Пользователи
|id|name |
----------
|1 |admin|
|2 |user |
Таблица user_data_cols
|id|field_name|field_description|
---------------------------------
|1 |age |Your age |
|2 |children |Your children |
Таблица user_data_rows
|id|user_id|col_id|field_value|
-------------------------------
|1 |1 |1 |32 |
|2 |1 |2 |1 |
|3 |2 |1 |19 |
|4 |2 |2 |0 |
Что я хочу создать, используя только SQL, таблицу, как это:
|user_id|age|children|
----------------------
|1 |32 |1 |
|2 |19 |0 |
Начиная с данных в других таблицах (которые могут меняться со временем, поэтому мне нужно создать новую таблицу, если добавлено новое поле) Возможно ли такое? Я чувствую, что это может быть против много хороших практик, но она не может быть оказана помощь ...
Какова логика, чтобы получить результирующие данные? У вас есть обычный запрос только для получения данных? И что вы подразумеваете под * «создать временную таблицу» *? Вы имеете в виду обычный стол, но временно используете? Потому что, если у вас есть SQL, вы можете просто сделать: 'create table temp_table_name как select ...' – sstan
У меня есть запрос на получение данных, но данные будут в вертикальной форме, как в row1 => user, field_name, field_value, row2 => user, field_name, field_value. Например, у меня были бы ["admin", "age", 32], ["admin", "children", 1], ["user", "age", 19], ["user", "children" , 0]. То, что я хочу, это данные в табличной форме, с значениями «field_name» как имена столбцов и значения «field_value» как данные строк, используя только SQL. – valepu
. Вы говорите о повороте. Вы можете легко найти информацию о том, как это сделать. Но имейте в виду, что для поворота вам нужно заранее знать, какие значения 'field_name' вы хотите преобразовать в имена столбцов. – sstan