Я делаю несколько счетчиков с использованием того же параметра. Я хотел бы знать, есть ли способ сделать только один запрос (чтобы быть более эффективным)? Мой COUNT заключаются в следующем:PHP: mutliple SELECT COUNT с
// Get number of MEMBERS in roster of this roster manager
$stmt = $mysqli->prepare("SELECT DISTINCT COUNT(rm.id_membre)
FROM roster_par_membre rm
JOIN roster_par_membre rm2
WHERE rm.id_roster = rm2.id_roster
AND rm2.level = 1
AND rm2.id_membre = ?");
$stmt->bind_param('i', $id_manager);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($nombre_total_membre);
$stmt->fetch();
// Get number of Alerts for this roster manager
$stmt = $mysqli->prepare("SELECT COUNT(id_alerte)
FROM alerte
WHERE modified_by = ?");
$stmt->bind_param('i', $id_manager);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($nombre_total_alerts);
$stmt->fetch();
// Get number of Rosters for this roster manager
$stmt = $mysqli->prepare("SELECT COUNT(id_roster)
FROM roster_par_membre
WHERE id_membre = ?
AND level = 1");
$stmt->bind_param('i', $id_manager);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($nombre_total_rosters);
$stmt->fetch();
Поскольку вы выполняете каждое утверждение отдельно, вам также необходимо связать параметр отдельно. В этом примере действительно нет лучшего способа. –
Взгляните на это: http://stackoverflow.com/questions/1775168/multiple-select-statements-in-single-query. Вы также можете комбинировать свои заявления в один и выполнять его за один раз. –
@JayBlanchard спасибо за ваш ответ. Тогда я оставлю это так. Хороший день –