У меня есть 3 таблицы:запрос, чтобы объединить две таблицы путем сопоставления третьей таблицы без возврата всех записей из третьей таблицы в Oracle
Таблица Maths
:
ID Marks1
(1 , 80)
Таблица English
:
ID Marks2
(2 , 85)
Таблица Student
:
ID Name
(1 , Raj)
(2 , Sam)
(3 , John)
Мне нужен SQL запрос (Oracle), чтобы получить следующий вывод:
ID Name Marks1 Marks2
(1 , Raj , 80 , (null))
(2 , Sam , (null) , 85)
Некоторые запрос я писал:
select B.ID, B.Name, A.Marks1, C.Marks2 from
(select ID, Marks1 from Maths) A
full join Student B on B.ID=A.ID
left join (select ID, Marks2 from English) C
on C.ID=B.ID
Но этот запрос возвращает все записи из студенческой стола, который я не» нужно. Мне нужны только записи из Maths и английских таблиц. Пожалуйста, помогите мне в этом.
спасибо. –
Как присоединиться к другой таблице измерений, используя предложение «using». Например, у меня есть другая таблица Grade с столбцами grade_id, имя_события. рассмотрите столбец grade_id, включенный в таблицы на английском языке и Maths. Теперь я хочу получить имя класса в моем результирующем наборе. как я могу это сделать, пожалуйста, помогите. –
Я думаю, что вам нужно присоединиться к этой дополнительной таблице с левым соединением ** дважды **, поэтому добавьте эту строку: 'left join grade g1 на g1.grade_id = m.grade_id', и эта строка:' left join grade g2 on g2 .grade_id = e.grade_id'. См. Прикрепленный файл [SQLFiddle] (http://sqlfiddle.com/#!4/a2ea1/1) для получения полного нового запроса. –