Вам нужно будет использовать UNION ALL для суммирования этих строк перед упорядочением и ограничением результатов.
Но имейте в виду, что такой запрос будет работать только , если всетаблицы в вашем массиве имеют такую же структуру.Если они этого не делают, то вам нужно быть конкретным в запросе, чтобы они имели те же поля.
$array_table_name = [
'table_1',
'table_2',
'table_3',
];
$search_id = 1;
$selectsArray = [];
foreach ($array_table_name as $table_name) {
$selectsArray[] = "SELECT * FROM $table_name WHERE id='$search_id'\n";
}
Как видите, я использую foreach()
, а не for()
, поэтому вы выигралине обновлять, уменьшая / увеличивая количество таблиц в массиве.Итак, чтобы наконец иметь:
$selectsUnion = implode("UNION ALL\n", $selectsArray) . "ORDER BY date_added \nLIMIT 1";
Вы можете увидеть протестированный код и смонтированный запрос здесь: https://3v4l.org/HXH2K