У меня есть 2 запроса с приведенным ниже набором результатов ... Первый набор результатов для студентов, поэтому все столбцы, относящиеся к инструкторам, равны нулю. Второй результирующий набор имеет значение инструкторов и столбцов, связанных со студентами равны нулю, и оба они разделяют несколько общих столбцов .. Слушатель:Как объединить результаты Объединения Все в Oracle
uid f_name m_name l_name class school Section Dept. Branch Title
1 abc c dey 2 NYU 1 null null null
2 cde d rey 3 CU 2 null null null
3 xyz r mey 4 LSU 3 null null null
Учитель:
uid f_name m_name l_name class school Section Dept. Branch Title
4 wss c tey null null null Science Biology Asso.Prof
2 cde d rey null null null Arts Music Asso.Prof
5 rrr r jey null null null Science Chemistry Prof
Если вы смотрите в приведенном выше наборе результатов, UID 2 общий в обоих наборах результатов, что в основном означает, что профессор может В то же время я одновременно студент ... Теперь я хочу объединить/объединить эти два запроса в общий набор результатов, например «Пользователи», которые в основном являются преподавателями и учениками.
Результирующий набор «Пользователи» должен быть уникальным по отношению к UID. Если я использовать объединение всех, будут дублироваться на UID 2. Мне нужен запрос, который может объединить столбцы для одной строки ... Набор должен быть результат:
1 abc c dey 2 NYU 1 null null null
2 cde d rey 3 CU 2 Arts Music Asso.Prof
3 xyz r mey 4 LSU 3 null null null
4 wss c tey null null null Science Biology Asso.Prof
5 rrr r jey null null null Science Chemistry Prof
Примечание 2 выше, он имеет и студент и профессор подробно в одном ряду ...
Как я могу достичь этого в Oracle? Ценю вашу помощь.
Я думаю, что СОЮЗ - это неправильный подход здесь. Каков источник ваших 2 запросов? Пожалуйста, покажите SQL. Либо есть одна таблица источников, в которой хранятся «люди» как с учащимися, так и с учителями, или у вас есть 2 разных таблицы для них, и это плохой дизайн. Существует два разных подхода к двум сценариям: я просто не знаю, какой из них выбрать, потому что вы не предоставили достаточной информации. –
@ThomasG. 2 запроса - это сложные запросы на объединение, но оба используют общий источник, говоря «Лица». Но нет способа отличить, является ли человек учеником или учителем в этой таблице, он просто хранит человека и его данные. Это может быть плохой дизайн, но его уже поместили и использовали в миллионах других мест ... Скажем, есть еще 2 стола, ученики и учителя ... Поэтому внутреннее присоединение к ученику, людям и другой таблице, связанным со студентами, дает мне всех учеников Детали..Точно так же внутреннее соединение таблицы учителей с людьми, таблицы данных других людей дает мне все данные о преподавателях. –
Посмотрите на полное внешнее соединение Студент с учителем на uid –