Не могу использовать агрегатные функции в модуле просмотра drupal 7 - PullRequest
1 голос
/ 07 августа 2011

Я пытаюсь вычислить сумму списка цен (десятичное поле) с помощью модуля views.И он просто не хочет работать ... Что я делаю неправильно или ... это просто ошибка?

Используется программное обеспечение

  • drupal v7.7
  • cTools v7.x-1.0-rc1

Просмотр конфигурации 1

  • Использовать агрегацию: Да
  • Поля: Title, sumPricesField
  • Настройки агрегации sumPricesField: Тип агрегации = SUM
  • Столбец группы = Значение

Результат 1

sumPricesField остается пустым на выходе, единственный тип агрегации, которыйдает значение COUNT

Просмотр конфигурации 2

  • Использовать агрегирование: Да
  • Поля: Title, sumPricesField
  • Параметры агрегации sumPricesField: Aggregationtype = SUM
  • Групповой столбец = Значение
  • Групповые столбцы (дополнительные) = Идентификатор объекта приводит к ошибке MySQL

Результат 2

Ошибка SQL:

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in 
your SQL syntax; check the manual that corresponds to your MySQL server version 
for the right syntax to use near 'id) AS field_data_field_algembeo_entityid FROM
drupal_node node LEFT JOIN drupa' at line 1

Сгенерированный запрос :

SELECT 
  node.title AS node_title, 
  node.nid AS nid, 
  node.created AS node_created, 
  MIN(node.nid) AS nid_1, 
  'node' AS field_data_field_bedrag_node_entity_type,
  SUM(field_data_field_bedrag.field_bedrag_value) AS field_data_field_bedrag_field_bedrag_value, 
  SUM(field_data_field_bedrag.entity id) AS field_data_field_bedrag_entityid
FROM 
  {node} node
  LEFT JOIN {field_data_field_bedrag} field_data_field_bedrag ON node.nid = field_data_field_bedrag.entity_id AND (field_data_field_bedrag.entity_type = node AND field_data_field_bedrag.deleted = 0)
WHERE 
  (( (node.status = '1') ))
GROUP BY 
  node_title, nid, node_created
ORDER BY 
  node_created DESC
LIMIT 
  10 OFFSET 0

1 Ответ

0 голосов
/ 31 августа 2011

У меня была такая же проблема с суммированием некоторых полей с плавающей точкой. Я нашел этот патч, который решил проблему для меня http://drupal.org/node/1194900 Упомянутая ошибка jQuery возникает и на моем сайте после исправления, но по крайней мере агрегация работает.

...