Ребята, помогите максимально лаконично сформировать SQL запрос к БД для вывода информации.
Есть 2 таблицы, partners и cupons
Таблица partners содержит имена партнеров в поле name. Структура таблицы такова: id; name;
Таблица cupons содержит информацию о купонах, проданных по каждому из партнеров. Структура таблицы такова: id; idpartner; summa; date;
Мне необходимо вывести на экран таблицу такого вида:
Имя партнера; количество купонов, общая сумма
Таблица должна быть сгруппирована по имени партнера.
Резюмируя, мне необходимо вывести 1 раз имя партнера и посчитать для него количество проданных купонов и общую сумму для него, за определенный период date.
Важно отметить, что если для партнера не было за период date продано купонов, то его выводить не нужно
Как сформировать циклы и запросы для вывода такой таблицы?
Берешь и выводишь:
$sql = "SELECT `p`.`name`, COUNT(1) as `cnt`, SUM(`c`.`summa`) as `summ`
FROM `partners` `p`
INNER JOIN `cupons` `c` ON `p`.`id` = `c`.`idpartner`
WHERE `c`.`date` BETWEEN ? AND ?;";
Рекомендую ознакомиться. Они там все одинаковые, можете выбрать на любой цвет.
Далее исполняем запрос и выводим в цикле:
$pdo = new PDO(/*данные для коннекта*/);
$stmt = $pdo->prepare($sql);
$stmt->execute([$date1,$date2]);
while ($stmt->fetch(PDO::FETCH_ASSOC) as $row) {
print $row['name'] . "\t";
print $row['cnt'] . "\t";
print $row['summ'] . "\n";
}
Добрый день! Делаю некотрые переделки в сайте и не могу разобраться с выводом и работой такого дела как: