2 Stimmen

drupal 7 sql-syntax

Ich versuche, eine Ergebnismenge zu erhalten, die 2 Spalten aus 2 verschiedenen Tabellen anzeigt, die nach einer Spalte gruppiert und die andere summiert.

dieses Sql funktioniert in 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

die ungefähr anzeigen, was ich brauche::

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

aber wenn ich es zu drupal 7 Sql-Abfrage-Syntax konvertieren:

$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; 
  }

Ich kann nur die Spalte "Gruppe nach" anzeigen lassen:

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

Jede Hilfe wäre sehr geschätzt. Ich habe die offiziellen D7-Dokumente konsultiert, um so weit zu kommen - nicht sehr viele Beispiele zu arbeiten, von dort.

4voto

Andreas Jansson Punkte 2948

Sie müssen Folgendes tun

$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");

Andernfalls heißt die erste Spalte "SUM(Feld_Zahl_Wert)".

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X