2010-11-10 3 views
0

У меня есть несколько таблиц, все из которых имеют одинаковую структуру - кроме того, что пара из них имеет один столбец без названия. Мне нужен оператор sql, который позволит пользователю выбрать этот столбец с неправильным названием, используя правильное имя (для столбца есть только 2 возможных имени - правильный и неправильный). Я думал, что у меня может возникнуть вопрос, прежде всего, взглянуть на представление all_tab_columns, чтобы посмотреть таблицу и решить, какую орфографию этого столбца таблица должна получить данные ...Oracle SQL динамически выбирает столбец

ответ

0

Я понимаю трудность переименования/изменения существующего производства таблицы, но кажется, что лучшим решением этой проблемы является просто обновление таблиц с неверными именами с правильным именем столбца. Есть ли причина (помимо дополнительной работы), что это невозможно?

+0

К сожалению, обновление столбцов таблицы не является вариантом. – bpprog

+0

Это почти сработало ... проблема в том, что в выражении декодирования возникает ошибка, потому что одно из имен столбцов отсутствует в таблице clinicstudies ... select hospital_study_id, NVL (декодирование (a, 'ИССЛЕДОВАНИЕ, ИССЛЕДОВАНИЕ), ДЕКОДИРОВАТЬ ('BADNAME', badname)) из (SELECT NVL ( (выберите column_name из all_tab_columns где владелец = 'RXA_DES' и table_name = 'CLINICAL_STUDIES' и column_name = 'BADNAME'), (выберите column_name из all_tab_columns где owner = 'RXA_DES' и table_name = 'CLINICAL_STUDIES' и column_name = 'STUDY')) как FROM dual – bpprog

Смежные вопросы