Я хочу объединить таблицы и объединить их с третьей таблицей метаданных, и я хотел бы знать, какой подход является лучшим / быстрым?
База данных является PostgreSQL.
Ниже мои два предложения, но приветствуются и другие подходы.
Чтобы выполнить объединение перед объединением на обеих таблицах:
SELECT a.id, a.feature_type, b.datetime, b.file_path
FROM table1 a, metadata b WHERE a.metadata_id = b.id
UNION ALL
SELECT a.id, a.feature_type, b.datetime, b.file_path
FROM table2 a, metadata b WHERE a.metadata_id = b.id
Или сначала выполнить объединение, а затем выполнить объединение:
SELECT a.id, a.feature_type, b.datetime, b.file_path
FROM
(
SELECT id, feature_type, metadata_id FROM table1
UNION ALL
SELECT id, feature_type, metadata_id FROM table2
)a, metadata b
WHERE a.metadata_id = b.id