Триггеры не очень хороши в MySQL, но если вам нужен только доступ только для чтения к этим данным, вы можете создать представление для получения этого. Однако, будьте осторожны, представления в MySQL тоже не очень хороши, если вы присоединитесь к ним.
что-то вроде:
create view shop_all_v as
select
a.shop_name, a.address, a.phone_number, b.opening_time, b.closing_time
from table_a a, table_b b
where a.shop_id = b.shop_id;
Другой способ - создать запланированное задание, которое обновит таблицу в коде приложения. Не самая лучшая вещь, но с MySQL вы немного застряли. Вы можете создавать столбцы меток времени, которые помогут отслеживать, когда произошла синхронизация. Это не так уж и безумно, поскольку это стандартная практика для обработки совокупных данных, просто не рекомендуется, когда вам нужна надежность в реальном времени.