Я посмотрел на другие связанные вопросы, но они не могли нажать на меня.Full Outer Join (объединение влево влево справа) Несколько таблиц MySQL
У меня есть эти таблицы: http://i.stack.imgur.com/cEYVn.png
В конце концов, я хотел бы объединить эти 5 таблиц так все от места (возможно loc_type (интермедиат) заменяется loc_type_name), все, кроме LOC_ID от часов (с он будет присоединен на LOC_ID), то же самое с праздником и т.д.
Я уже знал, как повторить эту функцию в MySQL:
SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
UNION
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id
Я получил это работает для любых двух таблиц, но не мог» T далее:
SELECT * FROM locations loc
LEFT OUTER JOIN location_types locType on locType.id = loc.loc_num
UNION
SELECT * FROM locations loc
RIGHT OUTER JOIN location_types locType on locType.id = loc.loc_num
UNION
SELECT * FROM locations loc
LEFT OUTER JOIN hours shours on loc.loc_num = shours.loc_id
UNION
SELECT * FROM locations loc
RIGHT OUTER JOIN hours shours on loc.loc_num = shours.loc_id
UNION
SELECT * FROM locations loc
LEFT OUTER JOIN holiday hol on loc.loc_num = hol.loc_id
UNION
SELECT * FROM locations loc
RIGHT OUTER JOIN holiday hol on loc.loc_num = hol.loc_id
Любая помощь будет оценена!
Примечание: Там могут быть некоторые дополнительные столбцы для расположения и других таблиц, так что в конце концов, я хотел бы, в котором я передам выбрать столбцы желательные (т.е. от места расположения выберите LOC_ID, loc_name, loc_phone) ...
Это могло бы помочь, если бы вы включили инструкцию 'full external join' (хотя MySQL ее не поддерживает). Кроме того, зачем вам нужно «полное внешнее соединение»? В хорошо продуманной базе данных ссылки на внешние ключи должны быть действительными, поэтому «полное внешнее соединение» редко требуется. –
Я использую php для отображения местоположения, его часов и остальной части данных, а предыдущий программист повторно вызывал базу данных несколько раз для каждого местоположения. Я хотел бы вызвать базу данных один раз (если не произойдет изменение) и сохранить данные в массиве, чтобы сделать веб-страницу намного быстрее. –
Любые предложения? –