У меня есть вопрос,Комплексный запрос с использованием SQL в PHP
Мне нужно создать сложный запрос на выборку, и я не могу это:
Так что я кратные базы данных называют cluster1,cluster2,cluster3,...,cluster10,
Каждый кластер имеют столовый звонок игры. И мне нужно получить некоторые строки для всех кластеров за последние 7 дней. Я пытался так:
foreach ($aDataBases as $database) {
$sFlashParties = sprintf('
SELECT left(depart, 10) as date, count(*) as nb
FROM `%s`
WHERE duree>0 and depart
BETWEEN current_date()-7 AND current_date()
GROUP BY date', $sFlashTableName);
$r_count = Mysqli::query($sFlashParties, $database);
$a_row = $r_count->fetch_array(MYSQLI_ASSOC);
error_log(print_r($a_row,true), 3, "/tmp/error.log");
}
Результат должен быть:
Day Nb_total
Можете ли вы помочь мне, пожалуйста? Thx заранее
Эти базы данных находятся на том же хосте? как вы устанавливаете соединения? Вам просто нужны строки запроса или результаты с совокупными итогами? вы используете PDO, Doctrine или что? –
Не имеет значения, проблема в том, как извлекать данные ... Я использую mysql – TanGio
, вопросы актуальны, прежде всего, если все базы данных находятся на одном хосте, вам нужно всего одно соединение, а затем просто выполните тот же запрос в результатах цикла и агрегата, если они распределены на разных хостах, вам нужно будет перебирать несколько соединений. Так что да, это имеет значение :) –