У меня есть два запроса, каждый из которых работает отлично и дает мне желаемые результаты.
Запрос 1:
SELECT COALESCE(m.ID, r.ID, s.ID) ID,
COALESCE(m.Test, r.Test) Test,
COALESCE(m.School, r.School, s.School) School,
m.M_Col1, m.M_Col2, m.M_Col3,
r.E_Col1, r.E_Col2, r.E_Col3,
s.First, s.Last
FROM Tabl1 AS m
FULL OUTER JOIN Table2 AS r
ON(m.Test = r.Test AND m.ID = r.ID)
INNER JOIN Table3 AS s
ON COALESCE(m.ID, r.ID)= s.ID
Это дает мне:
ID TEST M_Col1 M_Col2 M_Col3 E_Col1 E_Col2 E_Col3 First Last
101 2013-MEG3 Stuff Stuff Stuff Stuff Stuff Stuff John Smith
102 2013-MG3 Stuff Stuff Stuff Jane Doe
102 2013-EG3 Stuff Stuff Stuff Jane Doe
103 2013-MG5 Stuff Stuff Stuff Joe Smithe
103 2013-EG5 Stuff Stuff Stuff Joe Smithe
104 2013-MEG6 Stuff Stuff Stuff Stuff Stuff Stuff Jane Dawn
105 2013-MG6 Stuff Stuff Stuff Jaime Swans
106 2013-EG6 Stuff Stuff Stuff Jaime Swans
Мой второй запрос, запрос 2:
SELECT a.ID, a.Test, t.Other, t.Other_No
FROM Table4 as t
FULL OUTER JOIN Table5 as a
ON (a.Other_Key = t.Other_Key)
Это дает мне похожий результат таблицы.
Что я хочу сделать, так это объединить эти два подзапроса, в основном:
(
SELECT
COALESCE(m.ID, r.ID, a.ID) ID,
COALESCE(m.Test, r.Test, a.Test) Test,
COALESCE(m.School, r.School, s.School) School,
m.M_Col1, m.M_Col2, m.M_Col3,
r.E_Col1, r.E_Col2, r.E_Col3,
s.First, s.Last
FROM
Tabl1 AS m
FULL OUTER JOIN
Table2 AS r
ON(m.Test = r.Test AND m.ID = r.ID)
INNER JOIN
Table3 AS s
ON COALESCE(m.ID, r.ID)= s.ID
)
q1
FULL OUTER JOIN
(
SELECT
a.ID, a.Test, t.Other, t.Other_No
FROM
Table4 as t
FULL OUTER JOIN
Table5 as a
ON (a.Other_Key = t.Other_Key)
)
q2
ON(q1.ID = q2.ID)
Но это не работает.Это просто дает мне результаты Query1.Что я делаю не так?