У меня есть несколько (широких) таблиц:
- большое количество столбцов
- имена столбцов не совпадают между таблицами
- идентификаторы перекрытие между таблицами
Пример:
wide_table1 :
| id | timestamp | col1 | col2 | ... | col200 |
|----|-----------|----------|---------|-----|-----------|
|1 | 11 | 1.001 | 7.004 | ... | 1.240 |
|2 | 12 | 6.003 | NULL | ... | 2.201 |
|... | ... | ... | ... | ... | .... |
|5000| 5010 | 5020.009 | 5001.402| ... | 5085.210 |
wide_table2 :
| id | timestamp | col201 | col202 | ... | col706 |
|----|-----------|----------|---------|-----|--------|
|1 | 104 | 7.051 | 1.004 | ... | 6.270 |
|... | ... | ... | ... | ... | .... |
|9000| 8010 | NULL | 301.002 | ... | 535.10 |
Я хочу создать длинную таблицу из этих широких таблиц, сохранить первые два столбца, но повернуть все остальные столбцы.
Как можно повернуть / повернуть эти 2 таблицы в одну, чтобы получить что-то вроде this:
long_table :
| id | timestamp | colum_name | value |
|----|-----------|------------|--------|
|1 |11 |col1 |1.001 |
|1 |11 |col2 |7.004 |
|... |... |... |... |
|1 |11 |col200 |1.240 |
|2 |12 |col1 |6.003 |
|2 |12 |col2 |NULL |
|... |... |... |... |
|2 |12 |col200 |2.201 |
|... |... |... |... |
|5000|5010 |col1 |5020.009|
|5000|5010 |col2 |5001.402|
|... |... |... |... |
|5000|5010 |col200 |5085.210|
|1 |104 |col201 |7.051 |
|1 |104 |col202 |1.004 |
|... |... |... |... |
|1 |104 |col706 |6.270 |
|... |... |... |... |
|9000|8010 |col201 |NULL |
|9000|8010 |col202 |301.002 |
|... |... |... |... |
|9000|8010 |col706 |535.10 |
Если возможно, я не хочу поддерживать все имена столбцов в операторе SQL, потому что схема изменится в будущем несколько раз.