У меня есть четыре таблицы в Access 2010, каждая с одним и тем же первичным ключом. Я хотел бы объединить все данные во всех четырех таблицах в одну таблицу со столбцами для каждого значения, привязанного к первичному ключу во всех таблицах. Так, например:
Table1
ID Value1
1 10
2 7
3 4
4 12
Table 2
ID Value2
1 33
2 8
6 19
7 4
Table 3
ID Value3
1 99
2 99
5 99
7 99
Я хотел бы создать:
Table 4
ID Value1 Value2 Value3
1 10 33 99
2 7 8 99
3 4
4 12
5 99
6 19
7 4 99
Я использую MS Access и знаю, что мне нужно в основном использовать 3 соединения (левое, правое, внутреннее), чтобы получить полное соединение, но я не совсем уверен в том, как структурировать запрос.
Может ли кто-нибудь дать мне пример кода SQL, чтобы указать мне правильное направление относительно того, как получить этот результат?
Вот что у меня есть до сих пор. Это объединяет все таблицы, но похоже, что мне все еще не хватает некоторых данных. Я сделал что-то не так:
SELECT Coventry.cptcode, Coventry.[Fee Schedule], CT6002.[Fee Schedule], Medicare.[Fee Schedule], OFSP.[Fee Schedule]
FROM ((Coventry LEFT JOIN CT6002 ON Coventry.cptcode = CT6002.cptcode) LEFT JOIN Medicare ON CT6002.cptcode = Medicare.cptcode) LEFT JOIN OFSP ON Medicare.cptcode = OFSP.cptcode
UNION
SELECT Coventry.cptcode, Coventry.[Fee Schedule], CT6002.[Fee Schedule], Medicare.[Fee Schedule], OFSP.[Fee Schedule]
FROM ((Coventry RIGHT JOIN CT6002 ON Coventry.cptcode = CT6002.cptcode) RIGHT JOIN Medicare ON CT6002.cptcode = Medicare.cptcode) RIGHT JOIN OFSP ON Medicare.cptcode = OFSP.cptcode
UNION
SELECT Coventry.cptcode, Coventry.[Fee Schedule], CT6002.[Fee Schedule], Medicare.[Fee Schedule], OFSP.[Fee Schedule]
FROM ((Coventry INNER JOIN CT6002 ON Coventry.cptcode = CT6002.cptcode) INNER JOIN Medicare ON CT6002.cptcode = Medicare.cptcode) INNER JOIN OFSP ON Medicare.cptcode = OFSP.cptcode;