предположим, у меня есть две таблицы с именем table1, table2, я собираюсь выбрать несколько конкретных данных из этой таблицы. В то же время я хочу напечатать имя таблицы и столбцов в одной строке.
table1
------------
ID | COL1
------------
1 VAL1
2 VAL2
table2
------------
ID | COL2
------------
1 VAL3
2 VAL4
предположим, я хочу получить результат следующим образом
------------------------------------
TABLE_NAME | ID | COL_NAME | VALUE
------------------------------------
table1 1 COL1 VAL1
table1 2 COL1 VAL2
table2 1 COL2 VAL3
table2 2 COL2 VAL4
Я могу сделать это просто путем жесткого кодирования имени таблицы и имен столбцов следующим образом
select 'table1' as TABLE_NAME,ID AS ID,'COL1' AS COL_NAME, COL1 AS VALUE FROM tabl1
union all
select 'table2' as TABLE_NAME,ID AS ID,'COL2' AS COL_NAME, COL2 AS VALUE FROM tabl2;
Но я хочу более динамичный способ, чем описанный выше. Есть ли способ сделать это?