【问题标题】:drupal 7 sql syntaxdrupal 7 sql语法
【发布时间】:2011-07-04 21:40:05
【问题描述】:

我正在尝试获得一个结果集,该结果集显示来自 2 个不同表的 2 列,按一列分组并对另一列求和。

这个 sql 在 phpmyadmin 中工作:

SELECT SUM(field_count_value), field_region_value
FROM field_data_field_count, field_data_field_region
WHERE field_data_field_count.entity_id = field_data_field_region.entity_id
GROUP BY field_data_field_region.field_region_value
ORDER BY field_count_value DESC

大致显示我需要的内容::

-----------------
COUNT    REGION
-----------------
4000     S
600      E
-----------------

但是当我将其转换为 drupal 7 sql 查询语法时:

$nodes = db_query("SELECT SUM(field_count_value), field_region_value
FROM field_data_field_count, field_data_field_region
WHERE field_data_field_count.entity_id = field_data_field_region.entity_id
GROUP BY field_data_field_region.field_region_value
ORDER BY field_count_value DESC");

foreach ($nodes as $record) {
  echo $record->field_region_value . $record->field_count_value; 
  }

我只能按列分组显示:

-----------------
REGION
-----------------
S
E
-----------------

任何帮助将不胜感激。我已经咨询了官方 d7 文档以了解这一点——从那里可以使用的示例并不多。

【问题讨论】:

标签: sql drupal


【解决方案1】:

你需要做的

$nodes = db_query("SELECT SUM(field_count_value) AS field_count_value, field_region_value
FROM field_data_field_count, field_data_field_region
WHERE field_data_field_count.entity_id = field_data_field_region.entity_id
GROUP BY field_data_field_region.field_region_value
ORDER BY field_count_value DESC");

否则第一列称为“SUM(field_count_value)”

【讨论】:

  • 成功了,andreas -- 感激不尽。希望我能在几个小时前在这里发帖!
猜你喜欢
  • 2023-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多