ID, T1.F1, T2.F1, T3.F1, T1.F2, ...
При этом мне требуется выводить записи, если хотя бы в одной таблице присутствует идентификатор ID (для отсутствующих в других таблицах записей с идентификатором ID выводить пустое место или NULL).
Манипуляции с LEFT (RIGHT) JOIN не дали требуемого результата -- выводятся не все записи (может неправильно что-то делал).
Сейчас cначала создаю запрос с именем TU:
- Код: Выделить всё
SELECT ID FROM T1
UNION
SELECT ID FROM T2
UNION
SELECT ID FROM T3;
После чего:
- Код: Выделить всё
SELECT TU.ID, T1.F1, T2.F1, T3.F1, T1.F2, T2.F2, T3.F2
FROM ((TU LEFT JOIN T1 ON TU.ID=T1.ID)
LEFT JOIN T2 ON TU.ID=T2.ID)
LEFT JOIN T3 ON TU.ID=T3.ID;
Какие еще есть оптимальные варианты решения?
P.S. База Access (хотя на Transact-SQL тоже интересно).