У меня есть приложение, которое подключается к нескольким серверам. где один сервер будет иметь идентификатор, который является внешним ключом для таблицы, расположенной на другом сервере. Проблема здесь в том, что MySQL не поддерживает связанные серверы, поэтому я не могу запустить левый запрос, который LEFT объединит 2 таблицы, расположенные на разных серверах.
Поэтому мне нужно вытащить 2 отдельных запроса с 2 разных серверов, используя PHP, и они LEFT JOINing их используют PHP.
Обратите внимание, что перечисленные ниже ключи массива должны быть динамическими. Я не могу использовать фиксированные имена, так как разные запросы будут иметь другое имя столбца. В приведенном ниже примере используется phone_call_id в качестве ключа для соединения обоих массивов, и он объединяет имя столбца. если $right_array имеет больше столбцов, то эти столбцы необходимо добавить в окончательный массив.
поэтому у меня есть 2 массива
$left_array =
Array
(
[0] => Array
(
[id] => 1
[start_on] => 2014-09-14 19:50:00
[end_on] => 2014-09-14 19:51:00
[subject] => This is a new event
[client_id] =>
[all_day_event] => 0
[event_type] => Event
[phone_call_id] => 122
)
[1] => Array
(
[id] => 2
[start_on] => 2014-09-15 05:53:00
[end_on] => 2014-09-15 06:53:00
[subject] => This is a new event
[client_id] =>
[all_day_event] => 0
[event_type] => Event
[phone_call_id] => 123
)
[2] => Array
(
[id] => 3
[start_on] => 2014-09-15 05:53:00
[end_on] => 2014-09-15 06:53:00
[subject] => This is a new event
[client_id] =>
[all_day_event] => 0
[event_type] => Event
[phone_call_id] =>
)
)
Правильный массив будет выглядеть так
$right_array =
Array
(
[0] => Array
(
[account_id] => 1
[phone_call_id] => 122
)
[1] => Array
(
[account_id] => 2
[phone_call_id] => 123
)
)
результаты должны быть похожи на этот массив
$joined_array =
Array
(
[0] => Array
(
[id] => 1
[start_on] => 2014-09-14 19:50:00
[end_on] => 2014-09-14 19:51:00
[subject] => This is a new event
[client_id] =>
[all_day_event] => 0
[event_type] => Event
[phone_call_id] => 122
[account_id] => 1
)
[1] => Array
(
[id] => 2
[start_on] => 2014-09-15 05:53:00
[end_on] => 2014-09-15 06:53:00
[subject] => This is a new event
[client_id] =>
[all_day_event] => 0
[event_type] => Event
[phone_call_id] => 123
[account_id] => 2
)
[2] => Array
(
[id] => 3
[start_on] => 2014-09-15 05:53:00
[end_on] => 2014-09-15 06:53:00
[subject] => This is a new event
[client_id] =>
[all_day_event] => 0
[event_type] => Event
[phone_call_id] =>
[account_id] =>
)
)