Извините, если название не соответствует моему вопросу.
У меня есть таблица с именем Продажи и 3 столбца с именами Продавец, Покупатель и Цена.
Что у меня есть: До
Что я хочу: После
В основном я хочу отобразить список продавцов с суммой продаж, которые они сделали с одним покупателем.
Это SQL-запрос, с которым я собираюсь:
SELECT seller, buyer ,SUM(price)
FROM sales
GROUP BY seller , buyer
Моя проблема (кроме того, что этот запрос, вероятно, неверен) - это "перевод" в CakePHP. После просмотра поваренной книги у меня есть это в моем контроллере:
public function myview (){
$this->set('mysales', $this->Sales->find('all',
array('sum(price) AS total','group' => array('seller','buyer'))));
}
Я отображаю результаты в myview.ctp в HTML-таблице с помощью PHP (я не помещал элементы HTLM ниже):
<?php
foreach ($mysales as $thesales)
{
echo $thesales['Sales']['seller'];
echo $thesales['Sales']['buyer'];
echo $thesales['Sales']['total'];
}?>
Конечно, это не работает. Я работаю с SQL Server 2014, и у меня есть эта ошибка:
Error: SQLSTATE[42000]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Column 'sales.id' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Большое спасибо за вашу помощь !
$thesales['Sales']['total']
. См. этот ответ а> 12.08.2016