Не зная имени таблицы и столбцов, я хочу запросить базу данных, получить имена таблиц и столбцов, а затем запросить данные таблицы.
У меня есть схема базы данных Oracle, подобная следующей:
Item
таблица:
Item_id, Item_type,
=================
1 box
2 book
3 box
Book
таблица:
Item_id, title, author
===========================
2 'C# Programer', 'Joe'
Box
таблица:
Item_id, Size
=====================
1, 'Large'
3, 'X Large'
Column_mapping
таблица
Item_type, column_name, display_order
=====================================
box, Size, 1
book, title, 1
book, author 2
Table_mapping
таблица:
Item_type, Table_name
========================
box, Box
book, Book
Я бы хотел оператор SQL, который бы дал что-то вроде следующих результатов:
Item_id, Item_type column1 column2
====================================
1, box, 'Large', <null>
2, book, 'C# Programer', 'Joe'
3, box, 'X Large', <null>
Когда я попробовал упрощенный запрос
select *
from
(select Table_name
from Table_mapping
where Item_type = 'box')
where
Item_id = 1;
Я получаю ошибку, что Item_id является недействительным идентификатором
и если я попытаюсь
select *
from
(select Table_name
from Table_mapping
where Item_type = 'box');
Я просто получаю
Table_name
===========
Box
Я не уверен, как поступить.